home *** CD-ROM | disk | FTP | other *** search
/ Amiga Tools 2 / Amiga Tools 2.iso / dfue / avmnfax / avm.doc < prev    next >
Text File  |  1995-03-09  |  165KB  |  3,987 lines

  1. Document AVM Release 1.33 documentation
  2.  
  3.                AVM Program Documentation
  4.                ~~~~~~~~~~~~~~~~~~~~~~~~~
  5.  
  6.                A Program by Al Villarica 1994
  7.  
  8.  Note!  StandardConfig has changed!
  9.  
  10.  I deleted startALL and startAVMAndGPFax.  Now, the
  11.  only way to start AVM is through startAVM.  You can
  12.  "configure" which programs get started by editing
  13.  StandardConfig.
  14.  
  15.  LineLink users!  I found another way to stop playing
  16.  a voice file immediately after a touch tone is pressed.
  17.  This new way is enabled by default.  If it worked better
  18.  for you the way it was before, you will have to disable
  19.  this new feature.  To disable it, run the ServerConfig
  20.  program, click on Server Config, select the Advanced
  21.  Flags group, look for the line which says UseDTMFControl,
  22.  click on that, then click on the Toggle Enable/Disable
  23.  Flag.  This should cause a '#' to be placed in front
  24.  of the flag.  Close the window and click on the Save
  25.  gadget.  Restart AVM and things will go back to the way
  26.  they used to be.  Note that you should try the new
  27.  way since the code to do it is much simpler than the
  28.  previous one and should be more robust.
  29.  
  30.  There's a file called playall.rexx in the main directory.
  31.  This file is an example ARexx script which opens up a
  32.  LogView for any mailbox, selects all the contents, then plays
  33.  them out.  All of this is done from the script.  This means
  34.  that you can automate playing different mailboxes without the
  35.  use of the Call Notifier and without actually touching the
  36.  LogView gadgets.
  37.  
  38.  If you still want to use Mostra, edit avm:rexx/efaxview.avm.
  39.  The default is to use my fax viewer.
  40.  
  41.  Starting with 1.26, I am including EFax, a class 1 and class
  42.  2 fax program.  EFax is Copyright 1994 by Ed Casas.  It is
  43.  covered by the GNU General Public License.  See file called
  44.  avm:gnu/COPYING.  Therefore, with this release, you can
  45.  get fax capability with a nice user interface even if you
  46.  *don't* have a voice-capable modem.  If you don't have a
  47.  voice capable modem, see the section entitled
  48.  `Faxing without a Voice Modem'.  Look in avm:gnu/EFax.man
  49.  to see what fax modems are known to work with EFax.
  50.  
  51.  I also include a fax2iff program (for converting
  52.  received faxes into IFF for viewing using some IFF viewer),
  53.  asc2fax for converting ascii files into fax format,
  54.  and a printer driver.  fax2iff is a slightly modified
  55.  version (it reads non-raw fax files) of the executable in
  56.  ElCheapoFax.  My printer driver is a modified version
  57.  of the HP Printer driver found in the RKM plus some
  58.  code found in the ElCheapoFax faxprinter driver.  My printer
  59.  driver also includes the code found in the asc2fax program
  60.  of ElCheapoFax.  My printer driver, since it's a derived
  61.  work of a GPL'ed program, is also covered by that
  62.  License.  ElCheapoFax is Copyright (C) 1993 by Olaf
  63.  'Rhialto' Seibert.
  64.  
  65.  Only the programs covered by the GNU General Public
  66.  License are "free software".  I cannot and will not charge
  67.  for you to use them.  Note, however, that the
  68.  GNU License allows me to accept donations for supporting this
  69.  software.  Send what you like so that I will be inclined to
  70.  maintain the fax program and the corresponding fax
  71.  related programs.  I would be more likely to help you if you
  72.  decide to donate :)
  73.  
  74.  BTW -- the GNU programs are in avm:gnu.
  75.  
  76.  I have created a fax print program that I decided to make
  77.  shareware.  This print program will print faxes in the
  78.  correct aspect ratio.  I tested it and it works fine on
  79.  my page printer.  I am also in the process of making my
  80.  own fax viewer that will also be shareware.  I can already
  81.  view large faxes using a SuperBitMap.  I need to add support
  82.  for different magnifications and for viewing the fax using
  83.  less memory.  Note that the AVM FaxPrint program and the
  84.  AVM FaxView program are shareware and are not under the
  85.  GNU License since I made them.  The AVM FaxPrint without
  86.  the keyfile will only print the first half of a page.
  87.  
  88.  Please check out avm:contrib.  It contains stuff contributed
  89.  by AVM users.  You may like what's in there.
  90.  
  91.  Warning to GPFax users:  as of this version, the default
  92.  fax program is EFax (for obvious reasons).  You will need
  93.  to edit StandardConfig to change this default.
  94.  
  95.  If you had versions between 1.11 and 1.15, read `New Voice Files'
  96.  thoroughly.  Otherwise, you may find that AVM hangs up
  97.  on you at odd times.  Basically, I had to rename
  98.  some of the voice files (aside from adding more voice files
  99.  for you to record).  If AVM doesn't find the right
  100.  voice file, it will hang up on you.
  101.  
  102.  If you upgraded your ZyXEL from pre-6.12 ROMS to 6.12 ROMS, read
  103.  the release notes of V1.25 in the `History' section.
  104.  
  105.  Read the documentation!  It is important, given the complexity
  106.  of the system.  I have tried to make the documentation as
  107.  complete as possible.  However, if you find something that is
  108.  out of date with the actual program, let me know so I can update
  109.  the documentation.  Again, it is important that you go through
  110.  the documentation at least once.  If you have some problems,
  111.  check out the section called `Common Problems' before asking
  112.  me.  You may find that some of your questions have already been
  113.  asked by other people and have been solved.
  114.  
  115.  If you press the "Help" key in any of the windows (except the
  116.  window that pops open if you have an unregistered version of AVM),
  117.  you will get to read this file.  It is context sensitive, but not
  118.  fine grained.  In other words, you will be put in the section
  119.  that talks about the particular program you pressed the "Help"
  120.  key in.
  121.  
  122.  As of this version, Rockwell support is considered beta while
  123.  all other modems supported are considered to be stable.
  124.  
  125. 0. Important!
  126. -------------
  127.  
  128. 0.1. UNREGISTERED version
  129.  
  130.  AVM is Copyright - 1994 by Al Villarica (SoftWorx).
  131.  
  132.  The UNREGISTERED version is freely distributable, as long as
  133.  it remains in the original archive as shipped by the author.  You
  134.  may not sell the UNREGISTERED version for profit.  Only a minimal
  135.  copying fee may be charged.
  136.  
  137.  You are legally entitled to use the UNREGISTERED version for
  138.  as long as you like, as long as the programs are *not* modified in
  139.  any way.  For example, you are not allowed to remove the requesters,
  140.  change any of the texts within the program, etc.  You are *not*
  141.  allowed to close the "annoying" window by using any external
  142.  program.  This window is meant to be a constant reminder that
  143.  you are using an UNREGISTERED version of AVM.  If you find it
  144.  useful, I would really appreciate it if you would register the
  145.  program.  That would be the best way to get this program to
  146.  improve.  Also, please do *not* try to use an external program
  147.  to resize my "reminder".  I am not responsible for any crashes due
  148.  to resizing, moving the window to another screen (it likes to stay
  149.  on the WorkBench screen), or closing the window.  I myself am
  150.  using a version of the AVM server which has the annoying window.
  151.  Really!  So, if I can use it, then you should be able to too.  I
  152.  don't think that my registration fee is outrageous.
  153.  
  154.  You may, however, modify the ARexx scripts to your heart's
  155.  content.  You may *not* use these ARexx scripts or any of their
  156.  derivatives for anything but AVM.  Any ARexx scripts created by
  157.  users (whether hand coded or generated by the AVM Programmer) 
  158.  can be put in the public domain.  In fact, I urge you to distribute
  159.  them or at least tell me about them so I may incorporate them (or
  160.  some of their features) into the following releases of AVM.
  161.  
  162.  You may not use *any* of the binaries (the server, programmer,
  163.  iff2adpcm, adpcm2iff, etc.) for anything but AVM.
  164.  
  165.  NOTE!  I have included the Programmer, Scheduler, and
  166.  SchedulerView starting with this version.  They, however,
  167.  have been disabled.  You can look at the Programmer and play
  168.  around with it, but you can't save nor compile anything you
  169.  create.  With the Scheduler, you can do everything with it,
  170.  but it won't wake up to process scheduled events.  But, if you
  171.  want to see how it would call somebody up, you can press the
  172.  Send gadget, which manually process the currently highlighted
  173.  entry.  This will at least show you that the Scheduler does
  174.  work.  Maybe the inclusion of these programs (they're not
  175.  vaporware) will convince you to register this program :)
  176.  
  177. 0.2. REGISTRATION
  178.  
  179.  Although the UNREGISTERED version is very usable as is, you are
  180.  encouraged to register the software.  At this time, there
  181.  are two levels of REGISTERED users.
  182.  
  183.  You can register for the fax portion of AVM.  This includes
  184.  a fax viewer and a fax printer.  Note that you can view faxes
  185.  using any IFF viewer.  You can also print faxes if you have an
  186.  IFF printer.  The advantage of getting my versions of those
  187.  programs is that you'll get technical support from me.  Plus,
  188.  the fax print program I wrote will print out short and long
  189.  faxes correctly (i.e. it won't stretch them or squash them).
  190.  My fax viewer will also have different magnifications and will
  191.  also be able to work under low memory conditions.
  192.  
  193.  If you are currently registered for AVM (i.e. you already in
  194.  my database list, you can get the fax portion registered for
  195.  only US$10).  I want to give those people who have already
  196.  registered a incentive to register the fax portion.
  197.  
  198.  Registration entitles you to 1 year of free updates when they
  199.  become available for the programs and ARexx scripts that you
  200.  are registered for.  These updates will be made available
  201.  for download in the form of patch files.  I will not be sending
  202.  out update disks (although I may send out postcards to tell you
  203.  about important updates).
  204.  
  205.  Registration will also get you technical support.  Although I
  206.  will try to help new users in getting the UNREGISTERED version
  207.  working on their system (what good is a demo if you can't get
  208.  it working, right?), I cannot provide much more than that.  I
  209.  need to concentrate on supporting those who were kind enough
  210.  to register.  Of course, you can offer suggestions on how to
  211.  improve the software (and these suggestions may even show up
  212.  on later working demos of the AVM Suite).  If I add those things
  213.  that you want, maybe that will encourage you to register.
  214.  
  215.  Registration is transferrable.  You have to inform me of the
  216.  specifics of the transfer (i.e. to whom it was transferred to).
  217.  
  218.  Registration entitles you to use the AVM Suite on only one computer.
  219.  Of course, you can use as many modems on that computer as you
  220.  can possibly fit.  You may need a high-performance computer to
  221.  be able to do this, though.  With the best compression, the
  222.  modem to computer transfer rate is at least 9600, making it
  223.  quite unlikely that a 68000 computer will be able to handle
  224.  more than one modem at a time.
  225.  
  226. 0.2.1. REGISTERED version Level 1
  227.  
  228.  With this level, you will get:
  229.  
  230.  o  an annoying-less version of the AVM Server,
  231.  o  a working AVM Scheduler for sending unattended outgoing 
  232.       messages and faxes
  233.  
  234.     - the Scheduler can call you up at work when somebody
  235.       "deposits" a message in your mailbox
  236.     - the Scheduler can forward faxes to another fax number
  237.       automatically
  238.     - the Scheduler allows you to "reply" to messages left
  239.       by callers
  240.     - the Scheduler allows you to "send" voice or fax
  241.       messages to people
  242.  
  243.  Level 1f will additionally get you:
  244.  
  245.  o  a fax print program which prints faxes in the correct
  246.       aspect ratio
  247.  o  a fax view program which can view long faxes and can
  248.       also view them under different magnifications
  249.  
  250. 0.2.2. REGISTERED version Level 2
  251.  
  252.  In addition to what you get from level 1, you will get:
  253.  
  254.  o  a working AVM Programmer which makes adding mailboxes and
  255.       customizing the ARexx scripts *much* easier
  256.  
  257.     - Use it to add mailboxes, delete mailboxes
  258.     - Program unique voice menus
  259.     - Allow people to hear about products you are selling
  260.     - Allow people to get faxes from you about products you
  261.       are selling
  262.     - Allow people to hear music you have composed
  263.     - With the X10 interface, you can turn your appliances
  264.       on and off from the outside
  265.     - Program automated surveys or questionnaires (it can call
  266.       people up and collect responses from them).
  267.     - Program 1-900 (pay per minute) quizzes
  268.     - Anything you can do with ARexx, you can do from within
  269.       the AVM Programmer, and hence from a remote telephone
  270.     - Create a voice BBS
  271.  
  272.  Level 2f will additionally get you:
  273.  
  274.  o  a fax print program which prints faxes in the correct
  275.       aspect ratio
  276.  o  a fax view program which can view long faxes and can
  277.       also view them under different magnifications
  278.  
  279. 0.3. Payment Options
  280.  
  281.  Send payment to the `Author', Al Villarica.  For European customers,
  282.  send payment to the `European Registration' site.
  283.  
  284.  +---------------------------------------+
  285.  | Prices                                |
  286.  +---------------------------------------+
  287.  |Level 1                        $20.00  |
  288.  |Level 1f                       $35.00  |
  289.  |Level 2                        $35.00+ |
  290.  |Level 2f                       $50.00+ |
  291.  |Upgrade from 1 to 2            $20.00  |
  292.  |Registered for AVM, want fax   $10.00++|
  293.  |Fax Print/Viewer/Scheduler     $25.00  |
  294.  |Upgrade from 1->1f or 2->2f    $20.00  |
  295.  |Shipping/Disks                 $ 2.50* |
  296.  +---------------------------------------+
  297.  
  298.  * The shipping/disk charge is per disk.  MUI takes 1 disk.  AVM
  299.  now takes two.  Each set of voice files takes 1 disk.  If you can
  300.  download these things (or if I can email them to you), then you
  301.  don't have to pay any shipping or disk charges.  Tell me which
  302.  disks you want (MUI, AVM, voice files).
  303.  
  304.  + If you would like to send *more* money than what I'm asking
  305.  for, I would appreciate it very much.  I made my prices low
  306.  to get people to even think about registering.  In my opinion,
  307.  you get a lot for what you pay for.
  308.  
  309.  ++ This is *only* available to those who registered for AVM
  310.  *before* June 14, 1994!
  311.  
  312.  I will not be recording special voice files for people (unless
  313.  special arrangements are made).  The voice files that I will
  314.  be sending are generic voice files for a simple answering machine.
  315.  Note that I may not have it for your specific modem or
  316.  for your specific language -- at this time, I can only guarantee
  317.  that I have voice files for ZyXELs and LineLinks in the English
  318.  language.
  319.  
  320.  Some people have been able to send me cash (foreign currency is
  321.  acceptable but please be fair when calculating the exchange rate) 
  322.  by wrapping it in aluminum foil.  I am not sure if this is legal, 
  323.  and I cannot guarantee that I will receive it.  Of course, you 
  324.  could send it to me "registered" so that I will have to sign for 
  325.  it and you will receive notification that I signed for it.
  326.  
  327.  Someone has been able to send via a postal money order from Italy.
  328.  So, I know this is also another alternative.  I am not sure how much
  329.  this will cost you though.  When doing this, please make sure
  330.  that the full address is shown on the money order.  Otherwise,
  331.  I will have no way of knowing how to get in touch with you.
  332.  
  333.  When sending in payment, please include a short note to tell me
  334.  enhancements you want me to include for future releases.  Remember
  335.  that programs evolve.  This is your chance to contribute to its evolution.
  336.  If you have suggestions for the program (and you don't want to
  337.  register), send in your comments anyway.  Let me know why you don't
  338.  want to register (costs too much, it's missing a feature, etc.).
  339.  
  340.  Here's a form you can cut out and print out (don't forget to include
  341.  the country you're in!):
  342.  
  343.  Name: __________________________________________________________________
  344.  
  345.  Address: _______________________________________________________________
  346.  
  347.           _______________________________________________________________
  348.  
  349.           _______________________________________________________________
  350.  
  351.  Country: _______________________________________________________________
  352.  
  353.  Email (InterNet/Compuserve/America Online/Genie/Fido/etc): _____________
  354.  
  355.         _________________________________________________________________
  356.  
  357.  Telephone Number:  _____________________________________________________
  358.  
  359.  Fax Number:  ___________________________________________________________
  360.  
  361.  How would you like to receive
  362.  the key files? ( ) Email
  363.  
  364.                 ( ) Regular mail together with AVM disk
  365.  
  366.                 ( ) ftp site: __________________________________________
  367.  
  368.                         private directory: _____________________________
  369.  
  370.                 ( ) IRC dcc
  371.  
  372.  
  373.  AVM: ( ) Level 1
  374.       ( ) Level 1f
  375.       ( ) Level 2
  376.       ( ) Level 2f
  377.       ( ) Upgrade from 1 to 2
  378.       ( ) Upgrade from 1->1f or 2->2f
  379.       ( ) I'm currently registered and want to register the fax part.
  380.       ( ) Fax Print/Viewer/Scheduler (you don't have a voice-capable modem)
  381.       ( ) Send AVM on 2 disks
  382.       ( ) Send MUI on a disk
  383.       ( ) Send voice files on disk (modem = _______, language = _______)
  384.  
  385.  Computer: _____________________________________
  386.  
  387.  Processor: ____________________________________
  388.  
  389.  Speed (MHz): __________________________________
  390.  
  391.  Memory (MB): __________________________________
  392.  
  393.  Modem: ________________________________________
  394.  
  395.  Serial Port: ( ) standard built in
  396.  
  397.               ( ) custom: ______________________
  398.  
  399.  Kickstart version: ____________________________
  400.  
  401.  Workbench version: ____________________________
  402.  
  403.  
  404.  
  405. 0.4. Technical Support
  406.  
  407.  You may send mail to the `Author'.  I will try to answer your questions
  408.  as soon as I can.  However, if you have access to a system that can
  409.  send email to an Internet site, my address is:
  410.  
  411.  rvillari@cat.syr.edu
  412.  
  413.  If you send email to this address and I do not respond within 1 week,
  414.  you can be sure that I did not receive your email or my reply didn't
  415.  reach you.  I am usually very good about replying to email, even if you
  416.  don't ask a question.  So, if you don't get any response from me, try to
  417.  find other ways of reaching me.
  418.  
  419.  I am also available for questions on IRC.  I hang out on the #amiga
  420.  channel and normally use "av" as my nickname.  Just do a /who #amiga
  421.  and look for me.  I can DCC stuff to you.
  422.  
  423.  I will answer all questions and help you do some ARexx programming
  424.  if you are using a fax or data/BBS program that you want to integrate
  425.  with AVM.
  426.  
  427.  You can also get some technical support by calling up my Mini BBS.
  428.  See `Getting Updates'.
  429.  
  430.  Before asking me a question, *please* look for the answer here in
  431.  this document.  You may find that someone asked your question
  432.  and I answered it.  Look at the section `Common Problems'.  Also,
  433.  it would be most helpful if, aside from telling me that AVM doesn't
  434.  work, you provide useful information.  For example, I would like to
  435.  know:
  436.  
  437.  o  Your computer type (A1000, A2000, etc.)
  438.  o  Your processor type (68000, 68020, 68030, 68040, 68060)
  439.  o  Your operating system version (2.04, 2.1, 3.0, 3.1, etc.)
  440.  o  Your modem type and ROM version (if you have a ZyXEL, type in
  441.     ATI1 in some terminal and tell me what it says).
  442.  o  Your serial port (internal, GVP IOextender, Multiface II, Multiface III,
  443.     etc.)
  444.  o  A ram:logger.save file.  Run the Logger program, try to reproduce
  445.     the problem, click on the Save button in the Logger window, then
  446.     send me the file called ram:logger.save.  The Logger program produces
  447.     important information about the AVM Server process which handles
  448.     the modem.  It also tells me if there's a problem with one of your
  449.     ARexx scripts.  In other words, the file ram:logger.save allows me
  450.     to do "remote" debugging.
  451.  o  Your avm:servers.cfg file.
  452.  
  453. 0.5. Getting Updates
  454.  
  455.  I will try to distribute patch files on the major networks (Usenet,
  456.  FidoNet -- see `Deep Thought BBS', Fred Fish, etc.).  But, you can
  457.  call up my Mini BBS by doing the following:
  458.  
  459.  Use a telephone and dial my number (See `Author').  Wait for AVM
  460.  to answer.  When it does, press 5 on your touch tone phone.  That will
  461.  activate AXsh, a non-traditional BBS that contains AVM related files.
  462.  Instructions on how to use AXsh will be displayed when you log in.
  463.  
  464.  You can call between 10am and 5pm, Eastern Standard Time (USA),
  465.  but please don't be rude: say "hello" if somebody answers.  Then
  466.  kindly ask them to press 5 (silent answer is active, so it should
  467.  be possible to get the modem to answer in data mode even if somebody
  468.  answers -- neat, huh?).
  469.  
  470.  NOTE:  THIS IS ONLY AS A LAST RESORT!  I WOULD PREFER IT IF YOU GOT
  471.  AVM EITHER THROUGH YOUR LOCAL BBS, BY EMAIL OR FTP, OR THROUGH
  472.  THE DEEP THOUGHT BBS.
  473.  
  474.  Important!  I'm following the Commodore way of numbering versions.  This
  475.  means that AVM 1.16 would be a higher version than AVM 1.2.
  476.  
  477. 0.6. European Registration
  478.  
  479.  If you live in Europe, you can send your registration forms and payment
  480.  to:
  481.  
  482.     Odendahl Stefan
  483.     Wickertweg 16
  484.     3902 Brig-Glis
  485.     Switzerland
  486.  
  487.  He will handle any registrations you send to him.  Of course, I
  488.  will still accept your registration here, but it is probably easier
  489.  to send it to him if you live in Europe.
  490.  
  491.  He says he prefers Swiss Francs (CHF), but other currencies are
  492.  welcome.  Again, be fair when making the conversion.
  493.  
  494.  If you wish to send Swiss Francs (by any of the methods described
  495.  below), please account for the conversion from the US$ registration
  496.  fee to what you send to him in Swiss Francs.  Stefan has to buy
  497.  a US$ Money Order using your Swiss Francs before he can transmit
  498.  the money to me.
  499.  
  500.  If you decide to send money in any currency other than Swiss Francs,
  501.  Stefan has to first convert it into Swiss Francs *before* buying a
  502.  US$ Money Order.  So, please allow for this double conversion.
  503.  
  504.  In other words, he *really* prefers Swiss Francs.
  505.  
  506.  If you have US$ already, it's probably better to send it directly to
  507.  me.
  508.  
  509.  Please decide how to transfer the money:
  510.  
  511.  o Cash (no coins)
  512.  
  513.  o International postal money transfer to his "post account"
  514.  
  515.      No.          : 19-10974-2
  516.      Check-Office : Sitten
  517.      Country      : Switzerland
  518.  
  519.  o Postal money order
  520.  
  521.  Checks are not accepted at this time because Stefan has determined
  522.  them to be too expensive to cash at his bank.  Plus, the price
  523.  of cashing varies, so it's hard to pass the cost on to the
  524.  registering party.M
  525.  
  526.  You can reach him at:
  527.  
  528.    odendahl@avalon.unizh.ch or sodendah@iiic.ethz.ch (Internet email)
  529.    Stefan Odendahl (2:301/807.42) (FIDO mail address)
  530.    Odi (IRC)
  531.  
  532. 0.7. Deep Thought BBS
  533.  
  534.  Christian Stelter has been kind enough to carry AVM in his BBS.  It is
  535.  a FidoNet node.  Here's information on his BBS.
  536.  
  537.  DEEP THOUGHT Bulletin Board System
  538.  InterNet: deepthought.north.de
  539.  FidoNet: 2:2426/2020.0 & 2:2426/2021.0
  540.  AmigaNet: 39:170/204.0 & 39:170/205.0
  541.  
  542.  Port 1: +49-(0)441-383365, 1200-19200 bps ZyXEL
  543.  Port 2: +49-(0)441-383839, 1200-16800 bps ZyXEL
  544.  Magic for Fido File Requests:    AVM (for the latest version)
  545.                              :    FILES (for a list of all files)
  546.  
  547. 0.8. Mailing List
  548.  
  549.  Christian Stelter has set up a mailing list for AVM.  To join
  550.  this mailing list, send email to "listserv@deepthought.north.de".
  551.  On the first line of your email (not the Subject header), type
  552.  in:
  553.  
  554.   subscribe avm
  555.  
  556.  Then, when I send email to this mailing list, everyone on
  557.  the mailing list will get a copy.  This is a good way for you
  558.  to find out about new releases of AVM (whether Beta or final).
  559.  Plus, I plan to distribute small fixes to ARexx scripts here
  560.  and to discuss new features and bugs.
  561.  
  562. 0.9. Author
  563.  
  564.  Users of ZVM, *please* note the address change!
  565.  
  566.  Al Villarica
  567.  408 Arnold Ave.
  568.  Syracuse, NY 13210
  569.  USA
  570.  
  571.  Fax:   (315) 471-4043
  572.  Voice: (315) 471-4043
  573.  Data:  (315) 471-4043
  574.  
  575. 1. Introduction
  576. ---------------
  577.  
  578.  What does AVM stand for?  No, it's not Al's Voice Mail or something
  579.  like that.  I had planned on it being Amiga Voice Mail, but decided
  580.  on Advanced Voice Mail (recommended by one of the Beta testers).
  581.  
  582.  With the AVM, you can use your voice-capable modem (Zyxel, Dolphin,
  583.  or LineLink, Rockwell based voice modem) and GPFax, TrapFax, or the
  584.  included EFax to provide:
  585.  
  586.  o  A three-mailbox answering machine.  These mailboxes currently
  587.       are named (Anonymous, Al, and Dory).  You can change
  588.       their names.  See instructions in the Call Notifier on how
  589.       to accomplish this.
  590.  o  A simple answering machine if you don't want to have mailboxes.
  591.       In this case, only the Anonymous mailbox is active.
  592.  o  The ability to archive messages and faxes that you receive so
  593.       that you can recall them later on.
  594.  o  The ability to receive voice messages, faxes, and data calls
  595.       all on one line.  At this time, only GPFax, TrapFax, & EFax are
  596.       supported.  With some ARexx programming, other fax programs
  597.       may be substituted.  At this time, only AXsh (a non-standard,
  598.       but publically available BBS) is supported for handling
  599.       data calls.  All you have to do is install AXsh.
  600.  o  The ability to retrieve messages from a remote site by using
  601.       the remote site's touch tone keys.  Information about the
  602.       message can be played, such as the time and date of the message,
  603.       any telephone number left by the caller, or the telephone
  604.       number transmitted via the Caller-Id mechanism available
  605.       on some phone systems.
  606.  o  Silent answer -- if you pick up the phone before the program
  607.       does, it will eventually pick it up and listen in on your
  608.       conversation.  By pressing the appropriate keys on your touch-
  609.       tone phone, you can instruct AVM to handle the call as a fax
  610.       call or have it start recording your convesation.
  611.  o  Record Conversation -- you can use this to record important
  612.       conversations.  This is especially handy when dealing with
  613.       mail-order firms.  But, you need to tell
  614.       the other party that the conversation lest you get accused
  615.       of having an illegal phone tap.
  616.  o  Remote recording -- you can remotely record a personal greeting
  617.       for each mailbox.  In addition, some of the outgoing messages
  618.       can also be recorded from another telephone.
  619.  o  Pre Conversion -- with this feature, you will be able to
  620.       pre-convert voice files while your computer is not doing
  621.       anything interesting.  So, when you get home, you can click
  622.       on Play to play your message, and it will be immediately
  623.       played.  Otherwise, you would have to wait for the conversion
  624.       process to take place.
  625.  o  Immediate playing -- if you have a fast Amiga and you use a
  626.       compression mode that can be "uncompressed" quickly, you
  627.       can play the incoming voice files directly to the Amiga sound
  628.       system.  No intermediate conversion is necessary.  With this
  629.       feature, you don't have to use the Pre Conversion feature
  630.       (but you still can, if you want) and you don't have to wait
  631.       forever to hear your incoming messages.
  632.  o  Multiple greetings -- you can greet your callers depending on
  633.       the time of day, the day of the week, randomly, etc.  Plus,
  634.       you can record these greetings remotely.
  635.  
  636.  The AVM Suite is a major rewrite of ZVM, my first attempt at providing
  637.  answering machine capabilities to users of the Amiga and the Zyxel modem.
  638.  AVM now supports the LineLink 144e modem (some restrictions apply) and
  639.  the MTD Dolphin modem (a Zyxel compatible), a Rockwell chipset based
  640.  voice modem (I tested a Zoom VFDX).
  641.  
  642.  The AVM Suite consists of a bunch of programs which all cooperate via
  643.  ARexx.  For example, when a call comes in and someone leaves a message,
  644.  the `Call Notifier' will show that there was a new message (the Count
  645.  would increase in the appropriate mailbox).  If there was a `LogView'
  646.  opened that was "viewing" the mailbox where the message was in, a new
  647.  entry would automatically be inserted into the view.  In other words,
  648.  changes to the mailboxes are broadcast to all the active programs
  649.  that are viewing a particular mailbox.
  650.  
  651.  The AVM Suite uses the server model.  Each modem that you want the AVM
  652.  Suite to handle incoming calls for, needs to have a server process (`AVM')
  653.  running for it.  The AVM server knows how many rings to wait for before
  654.  answering a ringing line.  When it gets the desired number of rings, it
  655.  dispatches an ARexx script on itself to handle the call.  I designed this
  656.  server to be able to run autonomously.  Therefore, it is possible to have
  657.  the AVM server running to handle all calls and not have the `Call Notifier'
  658.  or the `ServerMan' running.  This will definitely conserve memory, but at
  659.  a small cost.  The AVM server will not know if there are any messages being
  660.  "watched", so it will not be able to support the "Toll Saver" option.
  661.  And, you will have no real way of knowing whether there were messages left
  662.  on your computer, since that was the whole purpose of the `Call Notifier'.
  663.  But, as I said, if you can do without those two features, you can get away
  664.  with running just the AVM server.  Do this in low memory situations.
  665.  
  666. 2. Requirements
  667. ---------------
  668.  
  669.  o  AmigaDOS 2.04 or greater
  670.  o  MUI 1.4 or greater (someone tested it with MUI 2.0 and it works).
  671.  o  a Zyxel, a LineLink 144e, a MTD Dolphin modem, or a Rockwell
  672.       chipset based voice-capable modem.
  673.  o  ARexx - this is included with AmigaDOS 2.04 and up, but it may not
  674.       actually be running on your system.  Look in the startup-sequence
  675.       or the user-startup for a line containing "rexxmast" to be sure.
  676.       Alternatively, type in the following into a shell:
  677.  
  678.       rx "say hello world"
  679.  
  680.       If it prints HELLO WORLD in the shell, ARexx is running.
  681.  
  682.  o  a hard disk to store voice messages
  683.  o  1 meg of RAM (the more, the merrier)
  684.  o  an accelerated Amiga is desirable, but is not really a requirement
  685.  o  speakers hooked up to your Amiga would be nice
  686.  o  a sound digitizer would also be nice (you don't need one since
  687.     you can record messages using the phone line)
  688.  o  a fast serial port is also desirable, but not a requirement.
  689.       I have been told that AVM does work with the IOExtender,
  690.       the Multiface II card, and the Multiface III card.
  691.  o  when using the AVM programmer, you need to be using at least a
  692.     640x400 screen (because of the size of the windows).
  693.  o  GPFax or TrapFax are alternative fax programs that you can use
  694.     with AVM.  AVM now includes EFax.  It's really easy to send
  695.     and receive faxes with AVM using EFax.
  696.  
  697. 3. Setting up
  698. -------------
  699.  
  700.  0.  If you have a Rockwell based modem, connect your telephone to
  701.      the back of the modem.
  702.  
  703.      Otherwise, you will need to connect your telephone to some sort
  704.      of splitter.  The telephone should be connected in *parallel*
  705.      with the modem.  It should not be connected to the back of the
  706.      modem!  Another possibility is to hook it up to an extension
  707.      in your house.
  708.  
  709.  1.  Install MUI 1.4 or greater and ensure that it works by trying
  710.      out one of the MUI demos.  If you cannot get one of the demos
  711.      working, you can be sure that AVM won't work either.
  712.  
  713.  NOTE:  Instructions 2 through 8 can be skipped if you double-click
  714.    on the avm-install icon, which takes care of these steps for you.
  715.    This assumes that you already unarchived the avm1.33.lha archive
  716.    in some temporary directory.  It will copy the necessary files
  717.    from that temporary directory to the final directory and add the
  718.    necessary ASSIGNS to your user-startup file.  You will also be able
  719.    to choose what type of modem you have, what type of digitizer,
  720.    and the method by which you want to be informed of new calls.
  721.  
  722.  2.  Create a directory in which you want the AVM Suite to reside.  Use
  723.      the Workbench for this.
  724.  
  725.      a.  Find a place to put the AVM Suite on the Workbench.
  726.      b.  Press the right-mouse-button, select the Window menu, then
  727.          select the "New Drawer" option.  You will then be prompted
  728.          for a drawer name.  Enter "AVMSuite" (without the
  729.          quotation marks) in that requester.
  730.  
  731.      OR, if you prefer using the Shell,
  732.  
  733.      makedir work:AVMSuite
  734.      copy work:empty.info work:AVMSuite.info
  735.  
  736.      Note that if you use these "Shell" instructions, you will need
  737.      to go to the workbench afterwards, move the AVMSuite icon to
  738.      a new location, and use the Snapshot menu item in the Icons
  739.      menu of the workbench.
  740.  
  741.  3.  Unarchive the AVM archive while you are in the directory you
  742.      just created.
  743.  
  744.      cd work:AVMSuite
  745.      lha x ram:avm1.33.lha
  746.  
  747.  4.  Edit s:user-startup and add the following lines (but change the
  748.      directory name if you put AVM in some place other than
  749.      work:AVMSuite).
  750.  
  751.        assign avm: work:AVMSuite
  752.        assign avmtemp: t:
  753.        assign avmrexx: avm:rexx
  754.        assign faxout: avm:outgoing/voices
  755.        assign faxtemp: t:
  756.  
  757.  5.  Open up the AVMSuite drawer from the WorkBench.
  758.  
  759.  6.  Make a directory called "voices" in the AVMSuite drawer.
  760.      From the CLI, just do a:
  761.  
  762.      makedir work:AVMSuite/voices
  763.                                          
  764.  7.  Open up the DefaultIcons drawer in the AVMSuite drawer.
  765.  
  766.      If you have a Rockwell based mode, double-click on the
  767.      "useRockwell" icon.
  768.  
  769.      If you have a LineLink144e modem, double-click on the
  770.      "useLineLink144e" icon.
  771.  
  772.      If you have a Dolphin modem, double-click on the
  773.      "useDolphin" icon.
  774.  
  775.      If you have a ZyXEL, first find out what ROM version you
  776.      have by typing in "ATI1" in a terminal program (like
  777.      Terminus, JR-Comm, vt10029b, ATalk III, etc.).  Then find
  778.      the icon entitled "useZyXEL????" where the "????" are
  779.      replaced by the ROM version that you have on your modem.
  780.      If you have a ROM version that does not have an icon,
  781.      find an icon which is closest to your ROM version.
  782.      Complete these instructions and then test things out.
  783.      If you find that it doesn't work, double-click on another
  784.      icon and try it out.  If none of the icons work, contact me.
  785.  
  786.      If you have a class 1 fax modem, double click on the
  787.      useClass1 icon.  If you have a class 2 fax modem, double
  788.      click on the useClass2 icon.  Only use these if your
  789.      modem really doesn't do voice.  If it does and is not
  790.      compatible with AVM, contact the author.
  791.  
  792.      Next, you need to tell AVM what kind of sound digitizer you
  793.      have.  If you don't have one, then these instructions
  794.      do not apply to you.  If you have a Perfect Sound digitizer,
  795.      double click on the "usePerfectSound" icon.  Otherwise, double
  796.      click on the "useGenericDigitizer" icon.
  797.  
  798.      Finally, you need to tell AVM how you want to be informed
  799.      of new messages.  If you want to be informed of messages via
  800.      the AmigaDOS "say" command (AmigaDOS 3.0 and up users should check if
  801.      they have this command), double click on the "useSayAlert" icon.
  802.      If you want to be informed of messages via the Amiga's
  803.      power LED (it will flash the number of messages on the
  804.      power LED -- this may look like a Guru and scare you :), 
  805.      double click on the "useFlashAlert" icon.  If you want to be
  806.      informed by a prerecorded message (it plays an IFF file
  807.      called avm:have1message or avm:havemessages), click on the
  808.      "useSayPreRecAlert" icon.  If you *don't* want
  809.      to be informed of new messages, follow instructions for
  810.      the `Call Notifier' on how to "unwatch" mailboxes.
  811.  
  812.  8.  Execute the script called "avm:renamevoicefiles".  I sometimes
  813.      rename voice files.  For instance, in going from V1.15 or
  814.      earlier to V1.17, I renamed stuff like one, two, etc. to
  815.      number1, number2, etc. to facilitate in sorting
  816.      stuff in the Player program.
  817.  
  818.      Execute the script called "avm:deletevfiles".  This will delete
  819.      all the obsolete voice files.  Note that it won't delete voice files
  820.      that are still usable.  Only the minimal number of voice files will
  821.      be deleted.
  822.  
  823.  9.  If your modem is not connected to serial.device unit 0, see 
  824.      `Ports Setup' for instructions on how to change the serial
  825.      device and/or the unit number.
  826.  
  827.  10. If you want to use the included EFax, just double click on
  828.      the startAVM icon!
  829.  
  830.      For GPFax to run with AVM, you need to make sure that in the
  831.      Environment window, the Shared flag is set.
  832.  
  833.      Also, edit the Answer.gpf script and remove the lines which have
  834.      'viewlast' in them (the last two ones in the version I have).
  835.  
  836.      If you have a ZyXEL modem, the Modem Init string should be:
  837.  
  838.      AATE0V1X4&K3&C1&D2S0=0
  839.  
  840.      If you have a LineLink modem, the Modem Init string should be:
  841.  
  842.      AATE0V1X4&K3&C1&D2&R0S0=0
  843.  
  844.      If you have any other modem, try the one for the ZyXEL modem
  845.      first.  Then try the one for the LineLink modem.
  846.  
  847.      NOTE:  GPFax shouldn't be running before you start AVM.
  848.  
  849.      If you have TrapFax, just double click on the "startAVM" icon
  850.      to get things running.  You must also use OwnDevUnit.library.
  851.  
  852.  11. Run the Player program.  This will allow you to record each of
  853.      the required messages.  See the instructions for `Player' on how
  854.      to accomplish this.
  855.  
  856.      If you download the optional voice files (I am distributing them
  857.      in a separate archive since many people may want to record their
  858.      own voice.  However, some people may not have the time to fully
  859.      customize AVM with their voice.), you will need to look at the
  860.      instructions that come with the voice files.
  861.  
  862.      I would like people to make a standard set of voice messages for
  863.      different languages and put them in the public domain.  Here's
  864.      the naming convention I would like to keep (so people don't have
  865.      to download lots of stuff before finding out what's in it).
  866.      The .lha file should start with AVMV followed by a three
  867.      letter specifier for the language used in the voice files, then the
  868.      version number of AVM that it works with.  Voice files should
  869.      be distributed as IFF files recorded at 9600 samples per second
  870.      or greater.  The program iff2adpcm is now capable of resampling
  871.      IFF voice files to the required sampling rate required by
  872.      the different modems/compressions.
  873.  
  874.      AVMVEng1.19.lha (English, 9600 samples per sec., avm1.19)
  875.      AVMVFre1.19.lha (French, 9600 samples per sec., avm1.19)
  876.      AVMVGer1.19.lha (German, 9600 samples per sec., avm1.19)
  877.  
  878.      If you're running AVM as a simple answering machine and you get
  879.      pre-recorded voice files, the only messages you need to "customize"
  880.      are "intro1", "intro2", "intro3", and "MailboxGreeting".  The
  881.      "intro" files are played first (depending on the time of day,
  882.      one of the intro files will be played).  After the "intro" files
  883.      are played, the caller is put into the "Anonymous" mailbox,
  884.      which plays "MailboxGreeting", at which point the caller can
  885.      send a fax or wait for the beep to leave a message.  It is
  886.      entirely up to you on what message you want to tell him.  Maybe
  887.      you could say something like "Hi, this is Al's answering
  888.      machine.  Press 2 to send a fax or wait for the beep and leave
  889.      your message.  When you're done leaving your message, press 1.".
  890.  
  891.      If you are running AVM as the three mailbox system, you need
  892.      to reccord the file called "level0".  This file instructs a
  893.      caller on who they may leave messages or faxes for.  Unless
  894.      your names happen to be Al and Dory, you will need to re-record
  895.      this message :)  Also, you really should record the messages
  896.      described in the paragraph before this.
  897.  
  898.  12. Test things out.  Pick up your phone, wait a few minutes until
  899.      the phone company gives up and makes your phone line go silent,
  900.      then click on Answer Voice in the ServerMan program.  This will
  901.      instruct AVM to pick up the phone and process it as though
  902.      you got a call.  Try leaving a message.  Then wait for AVM to
  903.      hang up.  Then click on Answer Voice again and try to retrieve
  904.      your message using the touch tone keys.
  905.  
  906.      NOTE:  On some phone systems, this will not work.  It depends
  907.      on the phone company.
  908.  
  909.  13. To run AVM automatically when your computer reboots or is powered
  910.      on, you can drag and drop the startAVM icon into your
  911.      WBStartup drawer.
  912.  
  913.  14. The file called StandardConfig in the AVMSuite directory should
  914.      be edited to your preferences.  In particular, when you first install
  915.      AVM, it defaults to acting like a simple answering machine.  If you
  916.      want to try out the multi-mailbox system, you will need to edit this
  917.      file.  There are also other parameters in this file that you can
  918.      change to alter the way AVM and its ARexx scripts work.  See
  919.      `Configuring with RXSET or SETENV' to see what the different
  920.      lines in this file means.  NOTE!  You will need to quit all the
  921.      AVM programs and restart AVM using startAVM in order for your
  922.      new configuration to take effect.
  923.  
  924. 4. Modem Limitations
  925. ---------------------
  926.  
  927.  Although AVM was designed to handle multiple modems, it does not
  928.  currently handle multiple types of modems at the same time.  In other
  929.  words, you cannot have two different modem with different types on two
  930.  different serial ports.  You can, however, have two different modems
  931.  on two different serial ports if they are of the same type.
  932.  
  933.  I will fix this limitation in a future version of AVM.  The rest of
  934.  this chapter describes the individual limitations for each modem
  935.  type.
  936.  
  937.  If I have an encoder for the modem/compression you are using,
  938.  then you can use the pre-recorded voice files.  Otherwise, you
  939.  pretty much have to record the voice files yourself.
  940.  
  941. 4.1. ZyXEL
  942.  
  943.    o  If you have an E+ or greater, you can use the CELP compression.
  944.       However, there is no CELP decoder/encoder, which means that
  945.       you cannot play out these voice files through the Amiga's
  946.       sound system.
  947.  
  948.    o  If you have a lower ROM version than 6.10a, you should not use
  949.       ADPCM3.  If you have 6.10a or greater, you can use ADPCM3SYNC
  950.       compression.  I have personally tried using ADPCM3SYNC and
  951.       found that there are still problems with the ZyXEL decoder
  952.       losing sync.  This means that you will occasionally hear
  953.       scratchy noises.  Theoretically, with ADPCM3SYNC, if the ZyXEL
  954.       decoder loses sync, it should be resynced after 50 milliseconds.
  955.       I do not have an encoder for ADPCM2SYNC or ADPCM3SYNC.
  956.  
  957. 4.2. Dolphin
  958.  
  959.    o  As far as I know, the only available compression mode is ADPCM2.
  960.  
  961. 4.3. LineLink 14.4e
  962.  
  963.    o  The LineLink can use a compression called SPC.  But, the decoder
  964.       I wrote for it is not in tip-top shape.  Try it to see if you like
  965.       it.  Be aware, however, that SPC uses more serial bandwidth and
  966.       more diskspace.  It is, however, fast to decode.
  967.  
  968.       I do not have an encoder for SPC.
  969.  
  970.    o  The LineLink cannot detect a calling fax automatically.  You will
  971.       need to tell your fax callers that they need to follow instructions
  972.       on how to activate your fax.
  973.  
  974.       I have implemented something that may enable you to receive faxes
  975.       automatically.  This only works when you use the two-mailbox
  976.       system I developed.  Normally, when a caller calls, he is instructed
  977.       to press 1 to start the mailbox system.  If he doesn't press 1, the
  978.       default goes into a mailbox called "anonymous".  See `Answer Priority'
  979.       to change this default to go into fax mode or data mode.
  980.  
  981. 4.4. Rockwell
  982.  
  983.    o  The Rockwell chipset supports ADPCM2, ADPCM3, and ADPCM4.  I
  984.       am currently limiting AVM to using ADPCM2.  There are some
  985.       complications in using ADPCM3 and ADPCM4.
  986.  
  987.    o  I don't have an encoder/decoder for any of the compressions
  988.       used by Rockwell based modems.  This means that you cannot
  989.       play them to the Amiga or convert IFF files to a voice file.
  990.       I hope to find some source code to alleviate this problem.
  991.       Fortunately, you can play to the Internal Speaker and it will
  992.       also play to the telephone plugged into the back of the modem.
  993.  
  994. 5. Common Buttons and Options
  995. ------------------------------
  996.  
  997.  This chapter describes the buttons and options common to most of
  998.  the programs in the AVM Suite.  This allows me to be lazy.
  999.  
  1000. 5.1. Play
  1001.  
  1002.  Click on this button to play the selected voice file through the
  1003.  device in `Play to'.  You can stop the playing of a message by clicking
  1004.  on the `Stop' button.
  1005.  
  1006. 5.2. Record
  1007.  
  1008.  Click on this button to record the selected voice file through the
  1009.  device in `Record from'.  Again, click on the `Stop' button to stop
  1010.  the recording process.
  1011.  
  1012.  After clicking on the record button, watch the modem lights and
  1013.  wait for the RXD (on the Zyxels) or the IO (on the LineLinks) before
  1014.  speaking.  Depending on the speed of your computer, there could
  1015.  be a slight delay before the modem actually starts recording.  This
  1016.  is because I need to send commands to the modem to actually start
  1017.  recording.
  1018.  
  1019. 5.3. Stop
  1020.  
  1021.  This stops recording, playing, or any conversion process.
  1022.  
  1023. 5.4. Play to
  1024.  
  1025.  There are several options that you can choose from.  Some of these
  1026.  options are not available for some of the modems.
  1027.  
  1028. 5.4.1. Amiga
  1029.  
  1030.  This option is available only if I have a decoder for the compression
  1031.  you choose for the voice file.  This option will first convert
  1032.  the voice file into an IFF file (avmtemp:temp.iff) and then play
  1033.  it using "DSound".  Note that I cache the last played file so that you
  1034.  can keep playing it without going through the conversion process.
  1035.  
  1036.  The ARexx script activated by this option is playamiga.avm.  You can
  1037.  modify this script if you would like to use a different player.
  1038.  
  1039. 5.4.2. TelephoneLine
  1040.  
  1041.  This option allows you to play voice files through the telephone line.
  1042.  
  1043.  To use this option, you should first remove the dial tone.  You can do
  1044.  this by pressing a few touch tone keys.  Or, you can pick up the phone
  1045.  and wait for the telephone company to give up on you. <<need to check
  1046.  if it plays even if you disconnect the phone line from the modem>>
  1047.  
  1048. 5.4.3. InternalSpeaker
  1049.  
  1050.  This will play voice files through the modem's internal speaker.  The
  1051.  LineLink doesn't support this.
  1052.  
  1053. 5.4.4. LocalHandset
  1054.  
  1055.  This only works with Rockwell based modems so far.
  1056.  
  1057.  This plays to the telephone hooked up to the back of the modem.
  1058.  
  1059. 5.4.5. IFF
  1060.  
  1061.  This will actually perform a conversion from the voice file to an
  1062.  iff file.  This option is only valid if there is a decoder available
  1063.  for the compression scheme that you used.  In this version, the
  1064.  output IFF file is avmtemp:save.iff.  A future version will allow you
  1065.  to pick the name of the IFF file.
  1066.  
  1067. 5.4.5. AmigaDirect
  1068.  
  1069.  This option plays voice files while it is decoding them.  This results
  1070.  in a small delay from the time you press play to the time it actually
  1071.  plays (unlike the `Amiga' option, which converts the whole voice file
  1072.  first).  Note that you can only use this option if you have a fast
  1073.  Amiga.  It works on my A3000/25.  Try it out on your system to see if
  1074.  it's fast enough.  If it is, you'll like this option.
  1075.  
  1076. 5.5. Record from
  1077.  
  1078.  As with `Play to', there are several options to choose from.  Again,
  1079.  some of these options may not be available for some modem types.
  1080.  
  1081. 5.5.1. Amiga (Record)
  1082.  
  1083.  This option will activate the rexx script recordamiga.avm.  This
  1084.  script calls AGMSRecordSoundPS3.  It will call AGMSRecordSound (a
  1085.  version that works with most generic digitizers) if you instruct
  1086.  it to (by double-clicking on the useGenericDigitizer icon).
  1087.  It calls the digitizing software in such a way that the output is
  1088.  avmtemp:temp.iff.  This IFF file is then converted into the
  1089.  appropriate voice file by a converter.
  1090.  
  1091. 5.5.2. TelephoneLine (Record)
  1092.  
  1093.  This allows you to record your messages using the telephone line.
  1094.  The only way to get this to work is to pick up the phone and get
  1095.  rid of that dial tone somehow.  As with `Play to', you can do this
  1096.  by entering a few touch tone keys.  Unfortunately, on some systems,
  1097.  after a while, you'll get the annoying phone company message to 
  1098.  put down the phone.  You could wait this out until the phone company
  1099.  gives you just silence.
  1100.  
  1101.  What I do is to wait for this silence and record all the messages
  1102.  I need to in one session.
  1103.  
  1104. 5.5.3. ExternalMic
  1105.  
  1106.  This option only works with the ZyXEL modem and the Rockwell based
  1107.  modem.
  1108.  
  1109. 5.5.3.1. Rockwell (ExternalMic)
  1110.  
  1111.  Some Rockwell based modems have a jack which allows you to plug
  1112.  an external microphone in.  Use this option to record using that.
  1113.  
  1114. 5.5.3.2. ZyXEL (ExternalMic)
  1115.  
  1116.  Warning, DO NOT use this option if the modem is still plugged into
  1117.  the phone line.
  1118.  
  1119.  To record with this option, disconnect the modem from the phone line,
  1120.  plug in the handset (some telephones have a handset which plugs
  1121.  into the actual phone) into the "line" jack of the modem, and speak
  1122.  into the ear part of the handset (not where you usually talk into).
  1123.  
  1124.  The reason you should not plug the modem into the phone line when
  1125.  using this option is that the modem amplifies the signal.  If the
  1126.  modem is plugged into the telephone line, the line signal would be
  1127.  amplified and could destroy your modem's internal circuitry.
  1128.  
  1129. 5.5.4. LocalHandset (Record)
  1130.  
  1131.  This only works with Rockwell based modems so far.
  1132.  
  1133.  This option lets you record from the telephone plugged into the
  1134.  back of the modem.  This works rather nicely.  You don't have
  1135.  to kill any dial tones or anything.  You can just start recording.
  1136.  
  1137. 5.5.5. IFF (Record)
  1138.  
  1139.  This is similar to the Amiga option, except it doesn't actually call
  1140.  the digitizing software.  It assumes that the software placed the
  1141.  IFF file in avmtemp:save.iff.  A future version will
  1142.  give you a requester to choose the IFF file you want to convert
  1143.  into a voice file.
  1144.  
  1145. 5.6. Server
  1146.  
  1147.  This is the name of the server that will be played to or recorded
  1148.  from.  To change this, click on the popup gadget beside the name
  1149.  of the field.  The compression mode that the server is using
  1150.  is displayed beside the name of the server.
  1151.  
  1152. 5.7. Quit
  1153.  
  1154.  Hmmm...I wonder what this is for :)
  1155.  
  1156. 6. Player
  1157. ---------
  1158.  
  1159.  This program allows you to record/play all of the required
  1160.  outgoing messages.
  1161.  
  1162. 6.1. Configure the player
  1163.  
  1164.   Specifically, make sure the `Play to', the `Record from' and the
  1165.   `Server' options are what you want them to be.
  1166.  
  1167. 6.2. Record your outgoing messages
  1168.  
  1169.  Go through each entry that has a "No" in the "Rec?" column and
  1170.  `Record' a message for it.  What you have to say in that entry would
  1171.  be displayed in the "What you should say" box.  After recording,
  1172.  you should `Play' the message to make sure it's correct.
  1173.  
  1174.  Try to stop recording by using the `Stop' button as soon as you finish
  1175.  talking.  AVM "glues" voice messages together for certain things.
  1176.  For example, when playing the date of a message, it "glues" the
  1177.  Month voice file with the appropriate number voice files to produce
  1178.  the date.  On slow machines, you may actually need to stop recording
  1179.  before finishing speaking because there is a slight delay between the
  1180.  time that you press the stop button and the recording actually stops.
  1181.  
  1182. 7. ServerMan
  1183. -------------
  1184.  
  1185.  ServerMan shows you all the servers active in a listview.  It shows you
  1186.  the name of the server and its status.  If you have several modems
  1187.  and serial ports, these would appear in the listview.
  1188.  
  1189.  You can select a server by clicking on the appropriate item in the
  1190.  listview.  After selecting an item, there are several things you
  1191.  can do to it.
  1192.  
  1193.  There is a cycle gadget just below the listview.  This cycle gadget
  1194.  allows you to see some of the buttons while hiding others.  This
  1195.  is intended to make this program less cluttered by presenting you
  1196.  with buttons that you will most commonly use and hiding buttons
  1197.  which you would normally not use.
  1198.  
  1199. 7.1. Answer Voice
  1200.  
  1201.  This makes the server answer the phone as though the appropriate number
  1202.  of rings was seen by the modem.  In other words, the ARexx script
  1203.  in `Voice Call default', `Voice Call Ring 1', `Voice Call Ring 2', ...
  1204.  is called.  If no RING was seen or an unqualified RING was seen, the
  1205.  default ARexx script is called.  If a RING which was qualified (RING 1,
  1206.  RING 2, ...) was seen, the appropriate Voice Call n script would be
  1207.  called.
  1208.  
  1209. 7.2. Answer Fax
  1210.  
  1211.  This makes the server answer the phone as though a fax had been detected.
  1212.  The ARexx script in `Fax Call' gets called.  This defaults to
  1213.  handlefax.avm
  1214.  
  1215. 7.3. Record Conversation
  1216.  
  1217.  This feature is really useful for getting evidence against mail-order
  1218.  companies :)  Unfortunately, in the US, you are required by law to
  1219.  tell the party that the call is being recorded.  Nevertheless, it'll
  1220.  at least keep them honest.
  1221.  
  1222. 7.4. Answer Data
  1223.  
  1224.  This button is similar to the `Answer Fax' button.  The only difference
  1225.  is that it calls the ARexx script in `Data Call'.
  1226.  
  1227. 7.5. Abort Action
  1228.  
  1229.  This button aborts any actions that may be active in the currently
  1230.  selected server.  This is a useful button especially when a call comes
  1231.  in and AVM answers the phone.  You can make AVM shut up by clicking
  1232.  on this button.  This button sends a general abort to the server.
  1233.  This general abort message would even abort an action started by
  1234.  a different program.  For example, if you're playing/recording a voice
  1235.  file through the `Player', you can abort it either with the Player's
  1236.  Abort button or with this button.
  1237.  
  1238.  
  1239. 7.6. Close Serial
  1240.  
  1241.  Instructs the server to close the serial port.  This really shouldn't
  1242.  be necessary since the AVM Server supports the sharing of the serial
  1243.  port. It is better to just put the AVM Server in `Unlisten' mode.
  1244.  In addition to supporting the sharing of serial port, the AVM Server,
  1245.  with the appropriate option in the `Server Config' program set,
  1246.  also supports the OwnDevUnit protocol for sharing the serial port.
  1247.  
  1248. 7.7. Open Serial
  1249.  
  1250.  This opens the serial port.  Sometimes, when AVM starts up, it can't
  1251.  open the serial port because another program was using it in an
  1252.  unfriendly way.  This is a good way to open the serial port in such
  1253.  cases (but you need to first kill the program that was unfriendly).
  1254.  
  1255. 7.8. Unlisten
  1256.  
  1257.  This button makes AVM not listen to the serial port.  It doesn't
  1258.  cause AVM to close the serial port.  It just aborts any pending
  1259.  reads that AVM may have.  This allows other programs to open up
  1260.  the serial port, change serial port parameters, etc.
  1261.  
  1262. 7.9. Listen
  1263.  
  1264.  This button reverses the action of the `Unlisten' button.
  1265.  
  1266. 7.10. Use Fax
  1267.  
  1268.  This calls the script avmrexx:usefax.avm.  At this time, it is configured
  1269.  to make AVM unlisten and GPFax to listen to the serial port.
  1270.  
  1271. 7.11. Unuse Fax
  1272.  
  1273.  This calls the script avmrexx:unusefax.avm.  This currently makes
  1274.  GPFax unlisten and AVM listen.
  1275.  
  1276. 7.12. Use Data
  1277.  
  1278.  This calls the script avmrexx:usedata.avm.  This currently makes
  1279.  AVM unlisten.
  1280.  
  1281. 7.13. Unuse Data
  1282.  
  1283.  This calls the script avmrexx:unusedata.avm.  This currently makes
  1284.  AVM listen.
  1285.  
  1286. 7.14. Start Server
  1287.  
  1288.  If the currently selected server isn't active, this button activates
  1289.  it.  This button, together with the `Kill Server' button is
  1290.  needed if you change the server parameters in `Server Config'.  A
  1291.  future version of AVM may instruct the servers to use any new
  1292.  parameters that may be set.
  1293.  
  1294. 7.15. Kill Server
  1295.  
  1296.  This issues a quit message to the appropriate server.  You can quit
  1297.  the server when it is waiting for a RING, has closed its serial
  1298.  port, or is in unlisten mode.  You cannot kill a server if it is
  1299.  doing something else (like answering a call, playing a voice file,
  1300.  etc.).
  1301.  
  1302. 7.16. Quit All (ServerMan)
  1303.  
  1304.  This quits ServerMan and kills any active servers which are
  1305.  not doing anything useful.  It also kills all the AVM programs
  1306.  such as any active LogViews, Schedulers, SchedulerViews, etc.
  1307.  
  1308. 8. Call Notifier
  1309. -----------------
  1310.  
  1311.  This program is basically a flat view of all the mailboxes.  It shows
  1312.  you all the mailboxes, the number of messages in those mailboxes, and
  1313.  whether you wanted to be informed that there were new messages or not
  1314.  for a particular mailbox.
  1315.  
  1316.  Basically, if there is a * in the Watch field of the mailbox entry,
  1317.  then the program will tell you that there are new messages.  It does
  1318.  this via the alertmessages.avm ARexx script.  The default action
  1319.  to inform you of messages is to "say" something.  If you don't like
  1320.  this behaviour, you can either "unwatch" all the mailboxes, change
  1321.  the actions within alertmessages.avm, or delete the script altogether.
  1322.  
  1323.  There is a cycle gadget just below the listview.  If you click on this
  1324.  cycle gadget, you will gain access to some of the buttons.  Normally,
  1325.  the cycle gadget should read "Mailbox Controls".  The buttons when
  1326.  this cycle gadget is on the default are buttons which you normally use.
  1327.  However, there are circumstances when you want to access the other buttons
  1328.  (for example, you may wish to change the names of the mailboxes).  In that
  1329.  case, click on this gadget to access the "Configure" buttons.
  1330.  
  1331. 8.1. Open Mailbox
  1332.  
  1333.  Depending on the mailbox type, it could open a `LogView' or
  1334.  a `Scheduler' window for the mailbox that was selected.
  1335.  
  1336. 8.2. Config Mailbox
  1337.  
  1338.  This opens a `Mailbox Config' window for the selected mailbox.
  1339.  
  1340. 8.3. Add Mailbox
  1341.  
  1342.  This pops up a requester wherein you can type a new mailbox name.
  1343.  The program then creates the appropriate directories and default
  1344.  config files for that mailbox.  For the unregistered version, this
  1345.  is pretty useless since you cannot add mailboxes to the
  1346.  Answer Voice scripts.
  1347.  
  1348. 8.4. Delete Mailbox
  1349.  
  1350.  This deletes the mailbox.  Only user-created mailboxes can be deleted.
  1351.  Some of the mailboxes (anonymous, outgoing, outgoingarchive, etc.)
  1352.  are locked and cannot be deleted.  They are required for the correct
  1353.  operation of AVM.
  1354.  
  1355. 8.5. Watch Mailbox
  1356.  
  1357.  This is a toggle function.  This causes the mailbox to be watched
  1358.  by the Call Notifier program.  If there are any messages in any of the
  1359.  "watched" mailboxes, the Call Notifier will inform you. 
  1360.  
  1361. 8.6. Rescan All Mailboxes
  1362.  
  1363.  This button goes through each mailbox and counts the number of
  1364.  messages in each mailbox.
  1365.  
  1366.  This button isn't really needed.  Normally, when a new message is
  1367.  added to a mailbox, this fact is broadcast to all interested parties.
  1368.  This includes the Call Notifier program.
  1369.  
  1370.  This button is here just in case the Call Notifier somehow missed
  1371.  a broadcast (this should never happen, though) from the AVM Server
  1372.  that a new message has arrived in a particular mailbox.
  1373.  
  1374. 8.7. Save (CallNotifier)
  1375.  
  1376.  This button saves the Watch configuration.  You can temporarily
  1377.  unwatch a particular mailbox.  But, when you quit the program or
  1378.  reset the machine, the old Watch configuration will come back up.
  1379.  
  1380. 8.8. Shut Up
  1381.  
  1382.  This check gadget shuts the Call Notifier up.  If you get annoyed with
  1383.  it telling you that you have messages, enable this check gadget.  The
  1384.  Call Notifier will disable this gadget if one of the "watched"
  1385.  mailboxes gets a new entry.  The Call Notifier enables this gadget
  1386.  if you Open any of the watched mailboxes.
  1387.  
  1388. 8.9. Real Name
  1389.  
  1390.  When you select a mailbox, its name will appear in a string gadget.
  1391.  When you edit this string gadget, the name will be modified.  You will
  1392.  then have to save the new configuration if you want to keep that new
  1393.  name the next time you start up the Call Notifier.
  1394.  
  1395. 9. LogView
  1396. -----------
  1397.  
  1398.  This program shows you all the messages for a particular mailbox.
  1399.  It provides you with information on each message such as the Time/Date
  1400.  the message came in, its type (Voice, Fax, Unknown), and its length
  1401.  in seconds.
  1402.  
  1403.  When you select a particular message in the listview, additional
  1404.  information is displayed.  This includes a Comment,
  1405.  CID Name, CID Number, and Return Number.
  1406.  
  1407.  You can multi-select things too by dragging the mouse or using the
  1408.  keyboard.
  1409.  
  1410. 9.1. Comment
  1411.  
  1412.  For faxes, this field tells you how many pages the fax had.  This
  1413.  field is user-modifiable.  You can archive a message and type
  1414.  in a comment in this field so that you know what the message contained
  1415.  without having to listen to the message again.
  1416.  
  1417. 9.2. Name
  1418.  
  1419.  This field displays the CID Name, if there was one.
  1420.  
  1421. 9.3. Number
  1422.  
  1423.  This field displays the CID Number, again, if there was one.
  1424.  
  1425. 9.4. Return Number
  1426.  
  1427.  If the caler enters a telephone number via the "poor man's
  1428.  caller id" feature, it will be displayed here. 
  1429.  
  1430. 9.5. Play or View
  1431.  
  1432.  You can select a message and hit this button to get it played
  1433.  or viewed, if it's a Voice or Fax type.  Alternatively, you can
  1434.  just double-click on the listview entry.
  1435.  
  1436.  If the entry is a fax, GPFax or TrapFax will display the fax.
  1437.  
  1438. 9.6. Reply
  1439.  
  1440.  This creates a log entry in the `Scheduler' and opens a
  1441.  `SchedulerView' for it.
  1442.  
  1443. 9.7. Archive
  1444.  
  1445.  This puts the message or fax in the Archive mailbox.  If you are
  1446.  already viewing the Archive mailbox, then this button doesn't do
  1447.  anything.
  1448.  
  1449. 9.8. Delete
  1450.  
  1451.  This deletes the log entry and the voice or fax files associated.
  1452.  At this time, this action is a bit slow.  The reason for this is that
  1453.  this button activates an ARexx script which actually deletes the
  1454.  log entry and its associated voice or fax files.  It deletes those
  1455.  files using the Shell's Delete program.  To speed up this action,
  1456.  you can make the Delete program resident.
  1457.  
  1458. 9.9. Send
  1459.  
  1460.  This creates a new entry to be scheduled.  It sets it up so that
  1461.  the originating mailbox is the mailbox that you are currently
  1462.  viewing.
  1463.  
  1464. 9.9. Save Log
  1465.  
  1466.  If you have changed anything in a particular log entry that you
  1467.  want to save, click on this button.  For example, if you changed
  1468.  the comment of a log entry, you need to click on this to get it
  1469.  saved.  You don't need to use this option if you are archiving
  1470.  the log entry (that automatically saves the entry before sending
  1471.  it off to the archive mailbox).
  1472.  
  1473. 9.10. Choose Mailbox
  1474.  
  1475.  At the top of the window is the name of the mailbox being viewed.  You
  1476.  can change the mailbox being viewed by typing it in, or by clicking
  1477.  on the "select" popup gadget to the right of the field.  Then, double
  1478.  click on the name of the mailbox you want to view (in the listview that
  1479.  pops up).
  1480.  
  1481. 9.11. Stop All
  1482.  
  1483.  Click on this if you want to stop multiple-plays.  If you press Stop,
  1484.  you will just stop the file being played.  If there are still
  1485.  files left to play, they will be played.  If you press this button,
  1486.  however, the file being played will be stopped and any files left
  1487.  to play will be skipped.
  1488.  
  1489. 9.12. Print Fax
  1490.  
  1491.  This will print out a fax.  Make sure the faxprinter driver isn't
  1492.  active or it will print a fax into another fax!
  1493.  
  1494. 10. Mailbox Config
  1495. ------------------
  1496.  
  1497.  This program allows you to configure the options that the mailbox
  1498.  may have.  If you don't have a scheduler, some of these options
  1499.  are pretty useless.  The only thing of interest to UNREGISTERED
  1500.  users would be the `Password'.  This is what you need to type
  1501.  in to gain access to the maintenance mode.
  1502.  
  1503.  Several of the Auto Options have "On Demand" fields.  If you type
  1504.  in numbers here, that means that the mailbox caller can only activate
  1505.  that option if he/she knows your On Demand password.
  1506.  
  1507. 10.1. Password
  1508.  
  1509.  This is the password necessary to get you into maintenance mode.
  1510.  From maintenance mode, you can also retrieve your messages,
  1511.  record a personal message, change the password, etc.  All of this
  1512.  can be done remotely.
  1513.  
  1514. 10.2. Forward Faxes
  1515.  
  1516.  When this option is enabled, any new faxes are automatically forwarded
  1517.  to the number in the Tel. # field.
  1518.  
  1519.  The default script should be DEFAULTSENDER.
  1520.  
  1521. 10.3. Call Sysop
  1522.  
  1523.  When new messages are received and you have the Scheduler, AVM will
  1524.  call you up at a particular telephone number.
  1525.  
  1526.  The default script should be DEFAULTSENDER.
  1527.  
  1528.  If the Announce Tel. # checkbox is enabled, then the Tel. # will
  1529.  be announced to the caller right after the Personal message is
  1530.  played and before the Instructions on how to leave a message
  1531.  is played (MailboxGreeting).  The caller will be instructed to
  1532.  press 3 to hear the telephone number again.  If he doesn't, then
  1533.  he can still leave his message and AVM will take care of calling
  1534.  the mailbox owner.
  1535.  
  1536. 10.5. Call Pager
  1537.  
  1538.  If you have a pager, this option will let AVM call your pager when
  1539.  a new fax or message arrives at your mailbox.
  1540.  
  1541.  The Script field contains the name of the ARexx script that is called
  1542.  to accomplish this paging mechanism.  At this time, the only
  1543.  script you can use is DEFAULTSENDER.
  1544.  
  1545. 10.6. Alert Sysop
  1546.  
  1547.  When a caller enters a mailbox, the Amiga will inform the "sysop" that
  1548.  a mailbox was entered.  This is useful if you only want to pick up
  1549.  the phone when a certain mailbox was accessed.
  1550.  
  1551.  With the On Demand option enabled, the Amiga will not alert you
  1552.  when the mailbox is accessed unless the caller leaves a message and
  1553.  actually chooses the "Alert" option.  If the On Demand option is
  1554.  disabled, the Alert mechanism is activated once the caller enters
  1555.  a mailbox.
  1556.  
  1557.  The Script filed contains the name of the ARexx script that is called
  1558.  to accomplish the alerting mechanism.
  1559.  
  1560.  The Default Script should be ALERTSYSOP.  This script just plays
  1561.  an iff file called "pickup.iff", which is located in the mailbox
  1562.  you are configuring.  For example, if you are configuring the
  1563.  Anonymous mailbox, you should put have an iff file called
  1564.  "avm:anonymous/pickup.iff".
  1565.  
  1566. 10.7. Save
  1567.  
  1568.  This saves your options.
  1569.  
  1570. 10.8. Cancel
  1571.  
  1572.  This cancels everything.
  1573.  
  1574. 11. Server Config
  1575. -----------------
  1576.  
  1577.  The Server Config program allows you to create new servers, or configure
  1578.  the currently available servers.
  1579.  
  1580. 11.1. Server Config (Button)
  1581.  
  1582.  This button opens up a window which has a bunch of options which you may
  1583.  set for the currently selected server.  At the top of the Server Setup window
  1584.  is a cycle gadget.  By selecting an item in the cycle gadget, the gadgets
  1585.  presented to you below change.
  1586.  
  1587. 11.1.1. Ports Setup
  1588.  
  1589. 11.1.1.2. ARexx Port Name
  1590.  
  1591.  This is the name of the ARexx port of the server.  You should not include any
  1592.  spaces in the name.
  1593.  
  1594. 11.1.1.3. Serial Port
  1595.  
  1596.  This is the device name of the port that the modem is hooked up to.
  1597.  
  1598. 11.1.1.4. Unit Number
  1599.  
  1600.  This is the unit number of the port that the modem is hooked up to.
  1601.  
  1602. 11.1.2. Scripts setup
  1603.  
  1604.  This set of gadgets allows you to change the names of the scripts that
  1605.  are called when certain events occur.
  1606.  
  1607. 11.1.2.1. Voice Call default
  1608.  
  1609.  This is the name of the ARexx script that gets called when the server
  1610.  is instructed to pick up the line and no ring was received or an unqualified
  1611.  RING was received (unqualified RING == Type 1 distinctive ring).
  1612.  
  1613.  To enable distinctive ring or CID, look at the section entitled
  1614.  `Caller ID and Distinctive Ring'.
  1615.  
  1616.  Note that it is possible to use the distinctive ring feature even though
  1617.  your modem doesn't support it.  Results vary with modems.  If the modem
  1618.  eats the rings if they don't occur 4 seconds apart, then you're out of
  1619.  luck.  If the modem reports double rings or triple rings within a span
  1620.  of 2 seconds, then AVM will be able to detect the distinctive ring.
  1621.  You can only use this feature *if* `Rings with messages' is greater
  1622.  than 1.
  1623.  
  1624.  If you have distinctive ring set up, you can put "answerfax", "answerdata",
  1625.  or "answervoice" in any of the Voice Call scripts.  So, if somebody
  1626.  calls a number causing a short-short distinctive ring to occur and you
  1627.  put "answerfax" in the `Voice Call Ring 1' field, then he will always
  1628.  receive a fax tone.
  1629.  
  1630. 11.1.2.2. Fax Call
  1631.  
  1632.  This is the ARexx script that gets called to handle a fax call.  The
  1633.  default should be "handlefax".
  1634.  
  1635. 11.1.2.3. Data Call
  1636.  
  1637.  This is the ARexx script that gets called to handle a data call.
  1638.  The default should be "handledata".
  1639.  
  1640. 11.1.2.4. Silent Answer
  1641.  
  1642.  This is the ARexx script that gets called if the phone stops ringing
  1643.  before reaching the number of rings required for AVM to pick up the line *and*
  1644.  the number of rings received is greater than or equal to the number in
  1645.  `Silent Answer rings'.
  1646.  
  1647. 11.1.2.5. Record Conversation (Script)
  1648.  
  1649.  Script to handle recording a conversation.
  1650.  
  1651. 11.1.2.6. Voice Call Ring 1
  1652.  
  1653.  Script called when the modem receives a type 2 ring.
  1654.  
  1655. 11.1.2.7. Voice Call Ring 2
  1656.  
  1657.  Script called when the modem receives a type 3 ring.
  1658.  
  1659. 11.1.2.8. Voice Call Ring 3
  1660.  
  1661.  Script called when the modem receives a type 4 ring.
  1662.  
  1663. 11.1.2.9. Voice Call Ring 4
  1664.  
  1665.  This is currently not used.
  1666.  
  1667. 11.1.2.10. Ring Script
  1668.  
  1669.  This script gets called right after the modem receives a ring from
  1670.  the modem.
  1671.  
  1672.  This script gets called with the variables "RINGS", "DISTINCTIVERING",
  1673.  "CIDNAME", and "CIDNUMBER" set.  If you type in "AlertRing" into this
  1674.  field, the file "avmrexx:alertring.avm" gets run on each ring (except
  1675.  the last ring before AVM decides to answer the phone).  At this time,
  1676.  "AlertRing" uses DSound to play an IFF file called "avm:ring.iff".
  1677.  Note that it only plays the ring between the hours of 9am and 11pm.
  1678.  This is what I currently use so that people can call up my system
  1679.  late at night to log onto my system.  This way, I don't hear the rings
  1680.  at all.
  1681.  
  1682.  Another use of this Ring Script is to announce the name of the caller
  1683.  or his telephone number.  This script gets called with CIDNAME and
  1684.  CIDNUMBER for this purpose.  The type of distinctive ring is placed
  1685.  in the variable DISTINCTIVERING.  The number of rings received so
  1686.  far is placed in the variable RINGS.
  1687.  
  1688.  Yet another use of this script is to log information to some file
  1689.  (or another program) that a call was received at a certain time.
  1690.  This is useful if you just want to know if your phone rang while
  1691.  you were out.
  1692.  
  1693. 11.1.3. Rings setup
  1694.  
  1695. 11.1.3.1. Rings with messages
  1696.  
  1697.  This is the number of rings required to be seen by AVM before picking up
  1698.  the phone *when* there are messages in any of the "watched" mailboxes.  This
  1699.  feature only works if the `Call Notifier' program is active.
  1700.  
  1701. 11.1.3.2. Rings without messages
  1702.  
  1703.  This is the number of rings required to be seen by AVM before picking up
  1704.  the phone when there are no messages in any of the "watched" mailboxes.
  1705.  
  1706. 11.1.3.3. Silent Answer rings
  1707.  
  1708.  If the phone stops ringing before AVM answers the phone and the number
  1709.  of rings seen is greater than or equal to this value, then the Silent Answer
  1710.  feature is activated.
  1711.  
  1712. 11.1.4. Voice parms setup
  1713.  
  1714. 11.1.4.1. Modem Type
  1715.  
  1716.  There are three types of modems that are supported.  This option selects
  1717.  one of the three (ZyXEL, Dolphin, LineLink, NoVoice).  People without
  1718.  a voice capable mode who want to use EFax should select NoVoice.
  1719.  
  1720. 11.1.4.2. Setup String
  1721.  
  1722.  This is the string (usually an AT command) that is sent to the modem
  1723.  prior to entering voice mode.  This is usually AT&F or ATZ to reset
  1724.  the modem.  You can also use this setup string to enable distinctive
  1725.  ring or CID options (see your modem's manual on how to accomplish that).
  1726.  
  1727. 11.1.4.2. Voice Setup String
  1728.  
  1729.  This is the string that is sent to the modem after entering voice mode.
  1730.  You can use this string to add or modify voice parameters that were
  1731.  not handled by the program.  For example, you can use this string to
  1732.  adjust the voice recording gain of the LineLink modem (use AT#VG=x,
  1733.  where x is the gain.  119 is the default value).
  1734.  
  1735. 11.1.4.3. Max rec len (secs)
  1736.  
  1737.  This is the maximum number of seconds that a recording is allowed to
  1738.  be.  This timeout is there because sometimes, the modem doesn't detect
  1739.  hangups correctly.  Without this timeout, you could easily fill up
  1740.  your hard disk.
  1741.  
  1742. 11.1.4.4. Silence Interval
  1743.  
  1744.  This is the number 10ths of seconds of silence required before the modem
  1745.  reports to AVM that it has heard silence.  The default value is 70, which
  1746.  translates to 7 seconds.
  1747.  
  1748. 11.1.4.5. Silence threshold
  1749.  
  1750.  This is an adjustable parameter for telling the modem what to treat as
  1751.  silence.  Note that the LineLink modem has two settings only (16 or 17).
  1752.  
  1753. 11.1.4.6. Compression
  1754.  
  1755.  Your modem compresses voice data to reduce the amount of storage needed
  1756.  for the resulting voice files.  Some compressions are better than others.
  1757.  
  1758.  ZyXEL modem users should choose between ADPCM2, ADPCM3, CELP, ADPCM2SYNC,
  1759.  or ADPCM3SYNC.  Note that ADPCM3 doesn't work for me.  ADPCM3SYNC is supposed
  1760.  to work, but it has the same symptoms as ADPCM3 (scratchy noise).
  1761.  CELP only works for E+ or greater modems.
  1762.  
  1763.  MTD Dolphin users have only one compression, MTDADPCM2.
  1764.  
  1765.  LineLink users have only one compression available, LLCVSD7200.
  1766.  
  1767.  People without a voice-capable modem who want to use EFax should
  1768.  select NOVOICE.
  1769.  
  1770. 11.1.4.7. Ringback
  1771.  
  1772.  Ring goes away and ring never appears.
  1773.  
  1774.  These two parameters are for dial-out only.  They tell the modem
  1775.  how long to wait for the ring signal to go away or how long to wait
  1776.  if it doesn't ring.  When calling out, the modem listens for ringing.
  1777.  If it doeesn't receive a ring before the Ringback Never Appears timer
  1778.  goes off, it will assume that the called party picked up the phone.
  1779.  On the other hand, if it got a ring, it will keep listening for rings.
  1780.  If it doesn't hear a ring before the timer goes off, it will assume
  1781.  that the called party picked up the phone.
  1782.  
  1783.  Both parameters are in 10ths of seconds.
  1784.  
  1785. 11.1.4.8. AVMTemp for Record
  1786.  
  1787.  Certain computer setups cannot handle receiving serial data and
  1788.  writing to the hard disk at the same time (you tend to lose characters
  1789.  or get serial port errors).  If this is the case, or if you want to
  1790.  avoid writing to the hard disk in small increments, select this option.
  1791.  This will write the voice file to AVMTemp: (which is usually RAM: )
  1792.  first.  When the recording is done, it is transferred to the hard disk.
  1793.  
  1794. 11.1.4.9. AVMTemp for Play
  1795.  
  1796.  Certain setups cannot handle reading from the hard disk and writing
  1797.  to the serial port.  Check this option if you have trouble playing
  1798.  voice files directly from the hard drive.
  1799.  
  1800. 11.1.4.10. Use OwnDevUnit
  1801.  
  1802.  This instructs the AVM Server to use OwnDevUnit.  This allows AVM to
  1803.  coexist with other programs that use this form of serial port locking
  1804.  mechanism.
  1805.  
  1806. 11.1.4.11. Tone Dial
  1807.  
  1808.  This is the method to be used when dialing (enable this gadget for touch
  1809.  tone or disable it for pulse) a number.
  1810.  
  1811. 11.1.4.12. Max Wait For Answer
  1812.  
  1813.  This is the number of seconds AVM will wait for the phone being dialed
  1814.  to be picked up.
  1815.  
  1816. 11.1.5. Fax parms setup
  1817.  
  1818. 11.1.5.1. Fax ID
  1819.  
  1820.  This is where you should enter your telephone number.
  1821.  
  1822. 11.1.5.2. Modem Init String
  1823.  
  1824.  This is the string that is sent to the modem right before starting
  1825.  up fax mode.  You really shouldn't change this unless the default
  1826.  setting doesn't work for you.
  1827.  
  1828. 11.1.5.3. FaxModem Type
  1829.  
  1830.  This is the type of fax modem that you have.  Select Class 2 if
  1831.  your modem supports that protocol.  Otherwise, select Class 1.
  1832.  
  1833. 11.1.5.4. Reverse TX Bit Order
  1834.  
  1835.  Click on this if you want to reverse the transmitted data bit
  1836.  order.  Don't play with this unless you know what you're doing.
  1837.  
  1838. 11.1.5.5. Reverse RX Bit Order
  1839.  
  1840.  Click on this if you want to reverse the received data bit
  1841.  order.  Don't play with this unless you know what you're doing.
  1842.  
  1843. 11.1.5.6. Start RX with XON
  1844.  
  1845.  Check your modem manual to see if a DC1 (XON) or a DC2 is required
  1846.  to start receiving data.  Again, don't play with this unless you
  1847.  know what you're doing.
  1848.  
  1849. 11.1.5.7. Command Pause
  1850.  
  1851.  This is the number of tenths of seconds that EFax will pause
  1852.  before sending another AT command.
  1853.  
  1854. 11.1.5.8. Max Page Errors
  1855.  
  1856.  This is the number of errors that would have to be received before
  1857.  EFax will ask for a retransmission.
  1858.  
  1859. 11.1.5.9. Debug Verbosity
  1860.  
  1861.  Don't play with this.
  1862.  
  1863. 11.1.5.10. Fax Capability
  1864.  
  1865.  The second value tells how fast your fax modem is.  Set it to 5
  1866.  if you have a 14.4K fax capable modem.  Otherwise, set it to 3.
  1867.  Don't touch the other values.
  1868.  
  1869. 11.1.5.11. Fax Hardware Handshaking
  1870.  
  1871.  This is the handshaking between the fax modem and your computer.
  1872.  Aside from enabling or disabling this switch, you should also 
  1873.  include the necessary command in the Modem Init String to
  1874.  enable the handshaking that your modem requires.
  1875.  
  1876. 11.1.5.12. Inits
  1877.  
  1878.  These are commands that will be sent to your modem before
  1879.  the modem is told to answer or dial.
  1880.  
  1881. 11.1.5.13. Resets
  1882.  
  1883.  These are commands that will be sent to your modem after
  1884.  receiving or transmitting a fax.
  1885.  
  1886. 11.1.6. Advanced Flags
  1887.  
  1888.  These flags help to configure the AVM Server.  You really shouldn't have
  1889.  to touch these flags.  Contact me if you are considering changing any
  1890.  of the default settings.  ***they are set to the proper values***
  1891.  
  1892. 11.1.6.1. Enable or Disable Flag
  1893.  
  1894.  This enables or disables a particular flag.  If a "#" symbol precedes
  1895.  the name of the flag, it is disabled.
  1896.  
  1897. 11.1.6.2. Add Flag
  1898.  
  1899.  Allows you to add a flag of your own.  You really shouldn't have to
  1900.  do this.
  1901.  
  1902. 11.1.6.3. Delete Flag 
  1903.  
  1904.  Allows you to delete one of the flags.
  1905.  
  1906. 11.2. Add Server
  1907.  
  1908.  Allows you to add a new server.  As mentioned before, you cannot mix two
  1909.  different kinds of modems on the same system.  This is because it is quite
  1910.  complicated to have two sets of voice files for each modem type.  Plus, if
  1911.  someone leaves a message using one modem, you will not be able to retrieve
  1912.  the message from the other modem.  Until I figure a nice way of doing this,
  1913.  the restriction stays.
  1914.  
  1915. 11.3. Delete Server
  1916.  
  1917.  Deletes one of the servers.
  1918.  
  1919. 11.4. Save (Server Config)
  1920.  
  1921.  Saves the configuration of the servers.  If you change any of the parameters,
  1922.  you should click on this gadget to save the changes.  Then, you will need
  1923.  to kill the server if it is active (use `Kill Server') and restart it
  1924.  (use `Start Server').
  1925.  
  1926.  
  1927. 12. Logger
  1928. -----------
  1929.  
  1930.  The logger is a program which prints useful debugging information
  1931.  from the servers and from the ARexx scripts that are run to control
  1932.  the servers.  It is really not too useful if AVM works for you.  In
  1933.  fact, you should, in general, not run the Logger as it slows down
  1934.  the system since it prints a *lot* of debugging information.
  1935.  
  1936. 12.1. Save (Logger)
  1937.  
  1938.  The "logger" automatically writes to a file called "ram:logger.save"
  1939.  after every 200 lines of debugging information that it receives.  If you
  1940.  wish to manually save what is in the buffer, click on this gadget.
  1941.  Every time the buffer is saved (it is appended to the above-mentioned
  1942.  file), the listview is cleared.
  1943.  
  1944. 13. Scheduler
  1945. -------------
  1946.  
  1947.  This program shows you all the outgoing entries for a particular
  1948.  mailbox.  Currently, AVM only works with one outgoing mailbox (called
  1949.  'Outgoing').  It provides you with information on each outgoing
  1950.  message such as the Time/Date when the message is supposed to go out,
  1951.  the number of retries left before the scheduler starts ignoring this
  1952.  entry, its originating mailbox (who created this entry), the telephone
  1953.  number the message is going to, and the type of message (voice or fax).
  1954.  
  1955.  The AVM Scheduler wakes up every minute to process any entries in the
  1956.  listview.  The listview is sorted so that the message that will go out
  1957.  next is at the top.  The Next Event field tells you if and when a next
  1958.  event will go out.  Note that it is entirely possible to have many entries
  1959.  in the outgoing mailbox but not have anything ready to be scheduled.
  1960.  This could happen if all the entries have 0 Retries left.
  1961.  
  1962. 13.1. Edit
  1963.  
  1964.  This opens up a `SchedulerView' to edit the currently highlighted entry
  1965.  in the listview.  You can also double-click on the entry to open up
  1966.  this SchedulerView.
  1967.  
  1968. 13.2. Archive (Scheduler)
  1969.  
  1970.  This archives an entry.  The log and its associated files are moved to
  1971.  the OutgoingArchive directory.
  1972.  
  1973. 13.3. Create Entry
  1974.  
  1975.  This creates a new entry to be scheduled.  The originating mailbox is
  1976.  "anonymous" if you use this method to create a new entry to be sent.
  1977.  A `SchedulerView' is also opened up to edit the new entry.
  1978.  
  1979. 13.4. Delete (Scheduler)
  1980.  
  1981.  This deletes the entry in the mailbox.
  1982.  
  1983. 13.5. Enable Scheduler
  1984.  
  1985.  Normally, you leave this check gadget on.  If you disable it, the
  1986.  scheduler will not process outgoing events.  This is useful if you
  1987.  don't want the scheduler to suddenly pick up the phone and start
  1988.  dialing when you are using the phone.
  1989.  
  1990. 13.6. Send (Scheduler)
  1991.  
  1992.  Press this button to manually send a message or fax.  You need to first
  1993.  highlight the message or fax that you want to send.  This is useful
  1994.  if you want to test the Scheduler or if you scheduled a fax for a later
  1995.  time but wanted to give it a shot now.
  1996.  
  1997. 13.7. Send Manual (Scheduler)
  1998.  
  1999.  Press this button to manually send a message or fax.  The difference
  2000.  between this and the button described above is that this one will
  2001.  not cause the modem to actually dial a number.  This is useful if you
  2002.  want to dial the number manually first, then click on this to start
  2003.  processing.  Note that I cannot guarantee that this will work with
  2004.  any other fax program other than EFax.
  2005.  
  2006. 14. SchedulerView
  2007. -----------------
  2008.  
  2009.  The SchedulerView allows you to edit an entry that you want to be
  2010.  sent out.  At the top of the window is the name of the mailbox that
  2011.  the entry was in.  Currently, AVM works with only one outgoing mailbox,
  2012.  called "Outgoing".  Below the name of the mailbox is the actual
  2013.  name of the entry.  This probably isn't very useful to you, but is there
  2014.  for your information only.
  2015.  
  2016.  There is a cycle gadget which allows you to view other control buttons
  2017.  that are less frequently used (to avoid user interface clutter).
  2018.  
  2019. 14.1. Time
  2020.  
  2021.  This is the time that the message is to be delivered.  You can
  2022.  adjust this time using the buttons to the right of this field.
  2023.  +m/-m increment or decrement the minutes, +h/-h increment or
  2024.  decrement the hours, and +d/-d increment or decrement the days.
  2025.  
  2026. 14.2. Telephone
  2027.  
  2028.  This is the telephone number that the message is to be delivered
  2029.  to.
  2030.  
  2031. 14.3. Comment (SchedulerView)
  2032.  
  2033.  This is a user-specifiable comment.  Type anything into this to
  2034.  describe the entry.
  2035.  
  2036. 14.4. Retries
  2037.  
  2038.  This is the number of retries to do to send this message out.
  2039.  
  2040. 14.5. Interval
  2041.  
  2042.  This is the number of minutes to wait before we try again (assuming
  2043.  there are Retries left).
  2044.  
  2045. 14.6. Filename
  2046.  
  2047.  This is the name of the file to send out.  At the beginning, this
  2048.  field contains a unique filename that you can record into without
  2049.  thinking twice about overwriting some other file.  Its type is
  2050.  set to Voice.  Beside the string gadget is a button that,
  2051.  when you click on it, will allow you to choose another file.  You
  2052.  can use this if you want to send a fax rather than a voice message.
  2053.  You could either type in the filename of the fax file directly or use
  2054.  the filechooser button.  If you type in a filename, be sure to
  2055.  press <return>.  When you do, I will check the file's type and
  2056.  adjust the cycle button to the left to reflect the file's type.
  2057.  Note that if the file doesn't exist, then I assume it's a voice
  2058.  file that you will record.
  2059.  
  2060.  Beside this button is a cycle gadget which tells the Scheduler
  2061.  what type of file is being sent.  If you are sending a fax,
  2062.  select Fax.  Otherwise, select Voice.  You probably don't have
  2063.  to use this gadget much since I detect the file type automatically.
  2064.  
  2065. 14.7. Play or View (SchedulerView)
  2066.  
  2067.  Same as in LogView
  2068.  
  2069. 14.8. CID Name and CID Number
  2070.  
  2071.  These are just the fields copied over if you were replying or
  2072.  forwarding to some message which had these fields set.
  2073.  
  2074. 14.9. Originating Mailbox
  2075.  
  2076.  This is the name of the mailbox that the outgoing message
  2077.  originated from.  A remote caller can only view outgoing messages
  2078.  from the Anonymous mailbox and his own mailbox.
  2079.  
  2080. 14.10. ARexx Send Function
  2081.  
  2082.  This is usually DefaultSender, which knows how to send voice
  2083.  and fax files.  Fax files are sent through GPFax or TrapFax.
  2084.  
  2085.  When a message is sent using DefaultSender, the called party
  2086.  can either acknowledge the receipt of the message (by pressing *),
  2087.  or can access the `Originating Mailbox' (by pressing 9 and entering
  2088.  a password), play the message agin (by pressing 1) or can simply
  2089.  hang up.  DefaultSender can be used to call people who don't
  2090.  have touch tone phones since the message will be repeated up to
  2091.  three times even though nobody pressed a key.
  2092.  
  2093. 14.11. Introduction File
  2094.  
  2095.  Choosing Default will play the default file, which is located
  2096.  in the originating mailbox's Voices directory.  In other words,
  2097.  if the originating mailbox is "anonymous", Default would play
  2098.  the voice file "avm:anonymous/voices/Introduction" when a voice
  2099.  message is sent.  If you choose Personalize, then the introduction
  2100.  message that will be sent will be "local" to the outgoing
  2101.  message.
  2102.  
  2103.  Note that at this time, the Introduction is only played when sending
  2104.  an outgoing voice file.  If you send a fax, the Introduction is
  2105.  not played.
  2106.  
  2107. 14.12. Play Intro
  2108.  
  2109.  Plays the introductory voice file.
  2110.  
  2111. 14.13. Record Intro
  2112.  
  2113.  Records the introductory voice file.
  2114.  
  2115. 14.14. Print Fax (SchedulerView)
  2116.  
  2117.  This will print out a fax.  Make sure the faxprinter driver isn't
  2118.  active or it will print a fax into another fax!
  2119.  
  2120. 15. AVM
  2121. -------
  2122.  
  2123.  AVM is the server that runs in the background.  It has no user interface
  2124.  and can only be run from the CLI.  When `ServerMan' starts, it runs
  2125.  all the servers it knows about.
  2126.  
  2127.  If you wish to run the AVM server manually, its CLI template is:
  2128.     avm servername/a
  2129.  where servername is the ARexx port name you gave it using the `Server Config'
  2130.  program.  Remember that you should probably use the "run" command when
  2131.  running the AVM server manually, as in:
  2132.     run >nil: <nil: avm Server.lin
  2133.  
  2134.  The only way to tell that the AVM server is running is through
  2135.  the `ServerMan' program.
  2136.  
  2137. 16. VoiceMail Instructions
  2138. --------------------------
  2139.  
  2140.  This chapter describes the "user interface" presented to a caller
  2141.  of this system.  I will not document everything that you can do,
  2142.  but will try to give you a general idea of what AVM is capable
  2143.  of.  Hopefully, the voice prompts are friendly enough that you
  2144.  can figure out stuff for yourself.
  2145.  
  2146. 16.1. Fax and Data tones
  2147.  
  2148.  At any time, when AVM is recording, playing a message, or
  2149.  waiting for the remote caller to press some telephone key,
  2150.  if a fax tone is received, then the fax program is automatically
  2151.  started.  If a data tone is received (some newer modems emit
  2152.  modem calling tones), the data program (BBS) is started.  At
  2153.  this time, the only fax program that is supported is GPFax and
  2154.  TrapFax and the only BBS supported is AXsh.  I think it should
  2155.  be easy to support other types of BBSes, but would require more
  2156.  thought to support other FAX programs.  avmrexx:startbbs.avm is the
  2157.  script that actually runs AXsh.  Note that certain modems
  2158.  cannot detect Fax tones or Data tones.  So, what I just described
  2159.  may not be true for your setup.
  2160.  
  2161. 16.2. Standard User Interface
  2162.  
  2163.  I tried to make the menu system as standard as possible.  Pressing the
  2164.  '*' symbol at any menu should hang up the system.  This is good to know
  2165.  because you may be late in getting to the phone.  Pressing '#' usually
  2166.  brings you back to the previous menu.  Pressing '0' usually replays
  2167.  the menu's voice prompt.
  2168.  
  2169. 16.3. Remote Caller
  2170.  
  2171.  When somebody calls, an initial greeting is played over the telephone
  2172.  line to the caller.  This varies depending on whether you have set
  2173.  AVM up for TIMEOFDAY, RANDOM, etc. (see `Introduction Messages')
  2174.  
  2175.  If you configured AVM to run in multi-mailbox mode, the caller
  2176.  is then instructed to press 1 to start voicemail (at this time,
  2177.  he can also press 2 to send a fax or 5 to start a BBS).  If he
  2178.  does not press any key in the time allowed, then the caller is
  2179.  either placed in the Anonymous mailbox (where he can record
  2180.  a message), or AVM can start Fax or Data mode.  See the section
  2181.  `Answer Priority'.
  2182.  
  2183.  If you decided to use AVM as a simple answering machine, then
  2184.  AVM will automatically put you into the Anonymous mailbox
  2185.  after the initial greeting.  Note that you can still press
  2186.  2 to start the Fax program or 5 to start the BBS program
  2187.  even while AVM is playing the instructions on how what
  2188.  to do ("...wait for the beep, leave your message...").
  2189.  
  2190.  When entering a mailbox, the first thing that is played is
  2191.  the mailbox's Personal message.  You can record this personal
  2192.  message remotely or using the Player program.  To record it
  2193.  remotely, you first need to get into maintenance mode and choose
  2194.  "Record a Personal Message".  If you want to record it using
  2195.  the Player, you need to run the Player, then type in
  2196.  
  2197.    avm:anonymous/voices/Personal
  2198.  
  2199.  into the string gadget below the listview containing a list
  2200.  of filenames.  Note that you need to replace "anonymous"
  2201.  be the directory name of the mailbox (i.e. mailbox1, mailbox2,
  2202.  etc.) if you want to record personal messages for mailboxes
  2203.  other than the Anonymous mailbox.
  2204.  
  2205.  After the personal message is played, then the telephone
  2206.  number of the mailbox owner is played (assuming you set
  2207.  the Announce flag in the MailboxConfig program for this
  2208.  mailbox *and* there is a telephone number to announce).
  2209.  
  2210.  After the telephone number is announced, then the instructions
  2211.  for leaving a message ("...wait for the beep, leave your
  2212.  message...") are played.  Then, a beep is played (or a user
  2213.  defined voice file containing some form of beep), then
  2214.  AVM starts recording.  If the caller presses 1 during any of
  2215.  the messages described above, he will be taken directly to
  2216.  the beep, where he can leave a message.  This is useful for
  2217.  people who already know how to use your system and want to
  2218.  skip all those messages.
  2219.  
  2220.  After the caller leaves a message, he can press 1.  This will get him
  2221.  into another menu which allows him to leave another message (in case
  2222.  he got cut off because he exceeded the timeout for recording), leave
  2223.  his telephone number, send a fax, get into data mode, start
  2224.  maintenance mode, etc.
  2225.  
  2226.  To get into maintenance mode, you need to first access a particular
  2227.  mailbox.  Then press 9 while it's playing the Personal message,
  2228.  the mailbox owner's telephone number, or the instructions for
  2229.  how to leave a message.  You can also enter maintenance mode
  2230.  after recording a message.
  2231.  
  2232. 17. Configuring with RXSET or SETENV
  2233. ------------------------------------
  2234.  
  2235.  You can configure this voicemail system to a certain extent.  Look in the
  2236.  file "avm:StandardConfig".  This file contains default values
  2237.  for all of the "environment" settings you can adjust.  Note that
  2238.  "avm:StandardConfig" is executed by startAVM.  These "environment"
  2239.  settings are described in this section.
  2240.  
  2241. 17.1. Introduction Messages
  2242.  
  2243.  When AVM answers the phone, it plays 1 of 7 files (these files are called
  2244.  avm:voices/intro1, avm:voices/intro2, etc.), depending on certain
  2245.  options you set.  You can choose any of the seven files to be played,
  2246.  or you can have one played for each day of the week, or you can have
  2247.  one played depending on the time of day (morning, afternoon, evening),
  2248.  or you can have it pick one at random.
  2249.  
  2250.  To play a particular file (choose 1 to 7), you would do the following:
  2251.  
  2252.    rxset AVMIntroductionType 1
  2253.  
  2254.  To play something based on the day of the week (1=Monday, 2=Tuesday, etc.)
  2255.  
  2256.    rxset AVMIntroduction DAYOFWEEK
  2257.  
  2258.  To play something based on the time of day (1=morning, 2=afternoon, 3=evening)
  2259.  
  2260.    rxset AVMIntroduction TIMEOFDAY
  2261.  
  2262.  To play one of the seven files randomly
  2263.  
  2264.    rxset AVMIntroduction RANDOM
  2265.  
  2266. 17.2. Time Format
  2267.  
  2268.  You can control what is said when playing a time.
  2269.  
  2270.    rxset AVMTimeFormat "%hours12 %minutes %pm"
  2271.  
  2272.  The line above will cause AVM to play the hours (1-12), followed by
  2273.  the minutes, then am or pm, depending on whether it's before 12pm
  2274.  or after 12pm respectively.
  2275.  
  2276.  To play the time in 24 hour format,
  2277.  
  2278.   rxset AVMTimeFormat "%hours24 %minutes"
  2279.  
  2280.  will do it.  You can play any voice file in between any of the time
  2281.  specifications by typing a filename (its full path).  For example,
  2282.  
  2283.  rxset AVMTimeFormat "avm:voices/TheTimeIs %hours12 %minutes %pm"
  2284.  
  2285.  will cause AVM to play the message in avm:voices/TheTimeIs, then
  2286.  the time in the 12 hour format.
  2287.  
  2288.  Note that the voice files should not have any spaces in their names.
  2289.  
  2290. 17.3. Date Format
  2291.  
  2292.  You can control the order and voicefiles that are played when playing
  2293.  a date.  To do this, do a:
  2294.  
  2295.    rxset AVMDateFormat "%month %day"
  2296.  
  2297.  This will play the month first, followed by the day of the month.  If you
  2298.  want to play a particular voice file anywhere in between, you only have
  2299.  to specify the name of the filename in the AVMDateFormat string.
  2300.  
  2301.  For example, you can do this:
  2302.  
  2303.    rxset AVMDateFormat "avm:voices/TheDateIs %month %day"
  2304.  
  2305.  This will play the file in avm:voices/TheDateIs, followed by the month,
  2306.  then by the day of the month.  Note that the voice files should not
  2307.  have any spaces in their names.
  2308.  
  2309. 17.4. Simple or MultiMailbox
  2310.  
  2311.  You can make this system be a simple answering machine, where the caller
  2312.  will not have to press any keys to get to leave a message.  To do a simple
  2313.  answering machine, do the following before running any of the programs in
  2314.  the AVM Suite.
  2315.  
  2316.    rxset AVMSimpleAnsweringMachine YES
  2317.  
  2318.  To use the two mailbox system, do the following:
  2319.  
  2320.    rxset AVMSimpleAnsweringMachine NO
  2321.  
  2322.  Note that the default is to use a simple answering machine.
  2323.  
  2324. 17.5. Playing Numbers
  2325.  
  2326.  Normally, AVM concatenates two numbers when it plays a 2 digit number.
  2327.  This reduces disk storage in having to store the all the possible
  2328.  numbers.  However, I have been told that the concatenation is language
  2329.  specific.  So, you have the option of recording all 59 numbers (I can
  2330.  only play 0 through 59 at this time).  To tell AVM to use the
  2331.  non-concatenating method, you do:
  2332.  
  2333.    rxset AVMDirectDDNumber YES
  2334.  
  2335.  To use the concatenating method, you do:
  2336.  
  2337.    rxset AVMDirectDDNumber NO
  2338.  
  2339. 17.6. Time and Date Specification
  2340.  
  2341.  LogView, Scheduler, and SchedulerView all show times and dates.  You can
  2342.  change the format of the time and date that is displayed.  To do this,
  2343.  you need to set an environment variable called AVMTIMEDATEFORMAT.
  2344.  
  2345.  Be careful with this!
  2346.  
  2347.  In the environment variable, special character sequences get replaced by
  2348.  the appropriate time or date information.  See below for an example:
  2349.  
  2350.  %a = abbreviated weekday name
  2351.  %A = full weekday name
  2352.  %b = abbreviated month name
  2353.  %B = full month name
  2354.  %c = locale's appropriate date and time representation
  2355.  %d = day of month (1-31)
  2356.  %H = hour (00-23) in 24 hour clock
  2357.  %I = hour (00-12) in 12 hour clock
  2358.  %j = the day of the year (001-366)
  2359.  %m = month (01-12)
  2360.  %M = minute (00-59)
  2361.  %p = equivalent of AM & PM
  2362.  %S = second (00-61)
  2363.  %U = week number of year (00-53) (the first sunday as the first day of week 1)
  2364.  %w = weekday (0-6)
  2365.  %W = week number of year (00-53) (the first monday as the first day of week 1)
  2366.  %x = locale's appropriate date representation
  2367.  %X = locale's appropriate time representation
  2368.  %y = year without century (00-99)
  2369.  %Y = the year with the century
  2370.  %Z = time zone name or abbreviation
  2371.  %% = percent sign
  2372.  
  2373.  setenv AVMTIMEDATEFORMAT "%H:%M %b %d"
  2374.  
  2375.  If you don't set AVMTIMEDATEFORMAT, the default is "%H:%M %b %d", which
  2376.  would display something like "15:59 Dec 5".
  2377.  
  2378. 17.7. Scaling output
  2379.  
  2380.  I added a new environment variable called AVMSCALEADJUST for decoding.
  2381.  If you set AVMSCALEADJUST to 128 (via a setenv AVMSCALEADJUST 128 in the CLI),
  2382.  it will not scale the output.  Anything higher will result in a multiplication
  2383.  by the scale factor and divided by the base 128.  So, to double the output,
  2384.  you set AVMSCALEADJUST to 256.  To halve it, you set it to 64.
  2385.  
  2386. 17.8. Answer Priority
  2387.  
  2388.  When AVM is setup as a multi-mailbox machine (not a simple answering machine),
  2389.  you have a choice of what to do if the person calling doesn't press 1 to start
  2390.  voicemail.  Normally, you would put him automatically into the anonymous
  2391.  mailbox.  However, some people would rather put the caller into fax mode
  2392.  or data mode.  This is useful especially if your modem doesn't support
  2393.  fax CNG detection (which simply means that the modem can't detect the special
  2394.  tone that a fax normally emits when it is sending).  If you would like to
  2395.  automatically receive faxes, then you will set the answer priority to fax.
  2396.  So, if your caller doesn't press 1, he will get a fax tone.
  2397.  
  2398.  To set fax priority, you would do:
  2399.    rxset AVMAnswerPriority FAX
  2400.  For data priority, you would do:
  2401.    rxset AVMAnswerPriority DATA
  2402.  And for voice priority (the default), you would do:
  2403.    rxset AVMAnswerPriority VOICE
  2404.  
  2405.  Edit avm:standardconfig to change the default permanently.
  2406.  
  2407. 17.9. ADPCM2IFF Converter
  2408.  
  2409.  The ADPCM2IFF converter (actually, this converter handles all of the
  2410.  compressions) can now use a double rate version of the CVSD to IFF
  2411.  converter that is more accurate.  To do this,
  2412.  
  2413.    setenv AVMDOUBLERATE YES
  2414.  
  2415.  The default for this option is NO.
  2416.  
  2417.  Note that this option produces IFF files that are twice as big as
  2418.  normal.
  2419.  
  2420. 17.10. Pre-Converting
  2421.  
  2422.  When someone calls and leaves a message, AVM can be instructed to
  2423.  preconvert the voice file into an IFF file.  So, when you get home,
  2424.  and your press the play button, you will immediately hear the voice
  2425.  message.  This is useful if AmigaDirect doesn't work for you (either
  2426.  because the decompression routines are too slow or because you have
  2427.  an unaccelerated Amiga).  By default, the pre-convert feature is
  2428.  turned off.  To turn it on, you do a:
  2429.  
  2430.    rxset AVMPreConvert YES
  2431.  
  2432.  The default for this option is NO.
  2433.  
  2434.  Note that the ADPCM2IFF program will be run without a GUI when
  2435.  preconverting files.  It will also be run at a lower priority
  2436.  (specified by the AVMADPCM2IFFPRI environment variable).
  2437.  
  2438. 17.11. Priorities
  2439.  
  2440.  You can set the priorities of some of the AVM programs by using
  2441.  the setenv command.  To set the priority of the AVM Player, the
  2442.  environment variable is called "AVMPLAYERPRI".  For the AVM ServerMan,
  2443.  the environment variable is "AVMSERVERMANPRI".  For the actual AVM
  2444.  servers, the environment variable is "AVMSERVERPRI".
  2445.  
  2446.    setenv AVMPLAYERPRI 0
  2447.    setenv AVMSERVERPRI 0
  2448.    setenv AVMSERVERMANPRI 0
  2449.    setenv AVMADPCM2IFFPRI -5
  2450.  
  2451. 17.12. Playing while converting
  2452.  
  2453.  You can preview a voice file (if you have a slow amiga and don't
  2454.  use the PreConvert feature or the AmigaDirect feature) by:
  2455.  
  2456.    rxset AVMPlayWhileConverting YES
  2457.  
  2458.  The default is NO.
  2459.  
  2460. 17.13. Old ZyXEL Conversion
  2461.  
  2462.  If you have pre-6.10 ZyXEL roms, you should set this to YES.
  2463.  
  2464.    setenv AVMOLDZYXEL YES
  2465.  
  2466.  The default is NO.
  2467.  
  2468. 17.14. User Beep
  2469.  
  2470.  You can replace the beep that is played right before AVM
  2471.  starts recording a new message into a mailbox.  You can use
  2472.  this feature to get fancy -- for example, you can tell your
  2473.  caller to leave a message after the explosion.  When using
  2474.  this feature, make sure there is as little silence as possible
  2475.  at the end of the beep voice file (since the caller may start
  2476.  speaking right after the voice file gets played).  You do 
  2477.  not want him to start speaking when you're still playing
  2478.  the voice file -- he won't get recorded.
  2479.  
  2480.  The file that gets played instead of a beep is
  2481.  avm:voices/userbeep.  You can use the AVM Player to
  2482.  record your user-defined beep.
  2483.  
  2484.  To enable this feature, do a:
  2485.  
  2486.    rxset AVMUserBeep YES
  2487.  
  2488.  The default is NO.
  2489.  
  2490. 17.15. Fax Program
  2491.  
  2492.  You can tell AVM what fax program you are using.  Currently,
  2493.  I only support GPFax and TrapFax.
  2494.  
  2495.    rxset AVMFaxProgram GPFax
  2496.  
  2497.  or
  2498.  
  2499.    rxset AVMFaxProgram TrapFax
  2500.  
  2501.  or
  2502.  
  2503.    rxset AVMFaxProgram EFax
  2504.  
  2505.  EFax is the default.
  2506.  
  2507. 17.16. Data After Silence
  2508.  
  2509.  When a mailbox is entered and a voice file is recorded, if no one
  2510.  speaks, then the modem returns with a 'Silence' result.  This is
  2511.  different from 'Quiet', which means that someone spoke and then kept
  2512.  quiet.  Anyway, if 'Silence' is returned, then you could start
  2513.  the BBS.  To do this,
  2514.  
  2515.    rxset AVMDataAfterSilence YES
  2516.  
  2517.  The default is YES.
  2518.  
  2519. 17.17. Monitor with Speaker
  2520.  
  2521.  This only works on Rockwell based modems.
  2522.  
  2523.  This turns on the speaker when a call is handled.  This allows you
  2524.  to hear what is going on when somebody is calling up your system.
  2525.  
  2526. 18. History
  2527. -----------
  2528.  
  2529.  V1.0
  2530.    o  first MUI release to Beta testers (not much feedback due to
  2531.       difficulty in installing)
  2532.  
  2533.  V1.1
  2534.    o  commands sent to the modem are not paired anymore (AT+VRA=5 +VRN=6)
  2535.    o  made easier to install
  2536.    o  added some icons
  2537.    o  added lots more flags to control the AVM server
  2538.    o  By default, we now wait for rings in Voice mode.  So, the only command
  2539.       we need to send to the modem when it rings is a "pick up the line"
  2540.       command.  This reduced the chance of getting mixed up when another RING
  2541.       came in while sending the modem setup strings.  It also made the
  2542.       answering of the phone much quicker.
  2543.  
  2544.  V1.2
  2545.    o  added more icons
  2546.    o  added icon for avm.doc
  2547.    o  should now work with the GVP IO Extender (change in AVM server)
  2548.  V1.3
  2549.    AVM Server
  2550.    o  added `Ring Script'
  2551.    o  added unsizeable window for the AVM Server (unregistered version)
  2552.    Server Config
  2553.    o  added `Ring Script'
  2554.  V1.4
  2555.    LogView
  2556.    o  fixed problem in LogView of not being able to edit any of the string
  2557.       gadgets
  2558.    AVM Server
  2559.    o  added another flag in voice.c for Dolphin modem (NeedsATHToHangup).
  2560.       Hopefully, that will solve the problem of not hanging up.
  2561.    ARexx scripts
  2562.    o  Fax mode is now available as an option right at the beginning.
  2563.       Press 2 to send a fax, 5 for data mode.
  2564.    o  Data mode is now available from the mailboxes (5=data) and from the
  2565.       intro to the mailboxes (5=data).
  2566.    Config files
  2567.    o  Added s48.1=1 to the setupstringav.  This makes sure that when we
  2568.       are doing an ATA from within Data mode, the modem doesn't try to
  2569.       receive a fax if the modem failed a handshake.
  2570.    o  Added flag "NeedsATHToHangup" to Dolphin advanced flags.
  2571.    Scripts
  2572.    o  I moved the all the files which begin with "use" to the directory called
  2573.       DefaultScripts.  These script files are necessary only if you want to
  2574.       change the configuration of AVM.  Note that these scripts were originally
  2575.       written to help make AVM easier to install.  Once I wrote the Installer
  2576.       script, these scripts no longer became necessary.  But, they may serve
  2577.       some purpose, so they are still included with the release.
  2578.  V1.5
  2579.    Server Config
  2580.    o  Made recording length 1000 secs. max
  2581.    Programmer
  2582.    o  Made recording length 1000 secs. max
  2583.    AVM Server
  2584.    o  Changed "No Name" and "No Number" to blanks.
  2585.  V1.6
  2586.    AVM Server
  2587.    o  Fixed bug when you closed the serial port and then killed the server.
  2588.    o  Status now shows 0 rings, 1 ring, 2 rings, etc.  No more (s).
  2589.    o  Added DIAL arexx (it doesn't seem to work too well for the ZyXELs.
  2590.       These modems don't seem to pay attention at all to the VRN and VRA
  2591.       parameters -- at least that's as of 6.11 -- I haven't checked if
  2592.       6.11a is any better).
  2593.    Server Config
  2594.    o  Added checkbox for Dial Tone (vs. pulse)
  2595.    o  Added maximum time to wait for a VCON after dialing a number
  2596.    ServerMan
  2597.    o  Made it less cluttered (by grouping hardly used buttons and hiding
  2598.       them)
  2599.    All MUI Binaries
  2600.    o  Will now say why the application could not be created (ran out of memory,
  2601.       program already running, etc.).
  2602.    ARexx Scripts
  2603.    o  Made a simpleanswervoice.avm which acts like a simple answering machine.
  2604.       But, you can still enter data mode, fax mode, etc.  It puts messages into
  2605.       the anonymous mailbox.  To use this new script, just use the ServerConfig
  2606.       program to use "simpleanswervoice" instead of the usual "answervoice".
  2607.  V1.7
  2608.    ARexx Scripts
  2609.    o  Added an experimental secretary.avm (and callup.avm) to repeatedly dial
  2610.       out until connected.  To use it, you need to say something like:
  2611.       "rx avm:rexx/callup.avm 4714043".  "callup.avm" looks for the server
  2612.       in "player.cfg", then calls "usebracket.avm" with the server, which
  2613.       eventually sets things up properly and calls "secretary.avm".
  2614.    o  Fixed abort.avm since it didn't properly terminate AGMSRecordSound
  2615.    o  Modified abort.avm to work with AmigaDirect
  2616.    o  Modified play.avm to work with AmigaDirect
  2617.    o  Added ARexx script called playamigadirect.avm to call adpcm2iff with
  2618.       correct arguments to make it play to the audio device.
  2619.    o  Modified alertmessagessay.avm so that it doesn't speak if the CLIP
  2620.       'AVMBusy' is greater than 0.
  2621.    o  Modified usebracket.avm to set 'AVMBusy' to 1 higher than its current
  2622.       value.  This prevents alertmessagesay.avm from speaking while the AVM
  2623.       Server is playing with the modem.
  2624.    o  Modified playamiga.avm and playamigadirect.avm to set 'AVMBusy' to 1
  2625.       higher than its current value.  This prevents "speaking" while we're
  2626.       playing messages through the Amiga speaker.
  2627.    o  Added 7 introductions
  2628.    o  Added recording of 7 introduction or choosing which method of
  2629.       playing the introductions
  2630.    o  Added AVMIntroductionType
  2631.    o  Added selection of simple answering machine or 2 mailbox system
  2632.    o  Added AVMDateFormat and AVMTimeFormat
  2633.    o  Added AVMDirectDDNumber, which allows you to record all 59 numbers
  2634.    o  Added accessing of anonymous messages when in your own mailbox
  2635.    o  Says how many messages in your mailbox and in the anonymous mailbox
  2636.       when you enter maintenance mode.
  2637.    o  Added AVMSimpleAnsweringMachine
  2638.    AVM Programmer
  2639.    o  Added Dial node
  2640.    o  Added Delay node
  2641.    AVM Player
  2642.    o  Added a way of specifying a filename to be recorded or played
  2643.    AVM Server
  2644.    o  Added Delay rexx command (this delay is breakable by sending the
  2645.       server an abort message)
  2646.    o  Changed DialNumber() so that it sends an A instead of an AT when
  2647.       aborting the dial command (or timing out before somebody answers).
  2648.    o  Added ABORT to the list of messages that the server listens to in
  2649.       "use" mode.  This ensures that if the server receives an ABORT message,
  2650.       it will go back to "unused" mode.  Then, any ARexx script should
  2651.       automatically abort because any new commands it sends to the server
  2652.       will get replied with 20 as an error code.  If I find a bug related
  2653.       to aborting, I should probably do an "assume(UnknownMode)" when we
  2654.       get this abort message.  We should look for all "assumes" in the
  2655.       ARexx scripts to make sure they are safe with our modified way of
  2656.       aborting.  This modified way of aborting will ensure that abort
  2657.       messages are not lost.
  2658.    Call Notifier
  2659.    o  Added shut up button.
  2660.    Iff2Adpcm
  2661.    o  Made increment of gauge smaller and more consistent
  2662.    o  Fixed bug when called from the CLI with invalid arguments.  It used
  2663.       to crash.
  2664.    o  Can stop conversion by sending an abort message to the program's ARexx
  2665.       port or by clicking on the close gadget.
  2666.    Adpcm2Iff
  2667.    o  Made increment of gauge smaller and more consistent
  2668.    o  Fixed bug when called from the CLI with invalid arguments.  It used
  2669.       to crash.
  2670.    o  Added the ability to play directly to the audio device while converting.
  2671.       This speeds up things dramatically and can handle very large voice files.
  2672.       Thanks to the author of VoiXEL for giving me the idea that it was
  2673.       possible :)
  2674.    o  Can stop conversion/playing by sending an abort message to the
  2675.       program's ARexx port or by clicking on the close gadget.
  2676.    General Binaries
  2677.    o  Changed localtime to gmtime.  This removes the need to look at the TZ
  2678.       environment variable.  This means that it shouldn't matter what timezone
  2679.       you're in to get the time right.
  2680.    o  Added environment variable AVMTIMEDATEFORMAT
  2681.  V1.8
  2682.    ARexx Scripts
  2683.    o  Fixed aaprocessmailbox to include exposing of datascript if data mode
  2684.       activated.
  2685.    o  Fixed stdfax and stddata to call answerfax and answerdata respectively,
  2686.       in case datascript and faxscript don't get propagated through.  This is
  2687.       basically a problem of not being able to declare strictly global variables.
  2688.       I did a setclip in answervoice.avmsrc and did a getclip when we're about
  2689.       to receive a fax or data connection.
  2690.    o  Standardized the messages to be recorded.
  2691.    o  Fixed a bug that would cause problems while retrieving messages
  2692.       remotely.
  2693.    o  Made the default length of recording for Record Conversation 500 seconds.
  2694.    o  Fixed answervoice in that, if there are no introductory files, it's ok.
  2695.       This allows us to not have any introductory files at all.
  2696.    o  Fixed stdfax and stddata to give voice instructions before starting up
  2697.       BBS or fax reception.  If those voice instruction files don't exist,
  2698.       it's ok.  They're not required.
  2699.    AVM Programmer
  2700.    o  Made strings larger (especially for the comment in playnode and
  2701.       presentmenunode).  Also made string larger for actions (useful when
  2702.       you want to do an ARexx action.
  2703.    AVM Server
  2704.    o  Zeroed ringCount after detecting a signal (OwnDevUnit or ARexx) and
  2705.       did a showRingNameNumber.  This is so that, if you manually click on
  2706.       any button (abort, answervoice, answerfax, answerdata, etc.), the
  2707.       AVM Server won't eventually do a Silent Answer.
  2708.  V1.9
  2709.    ARexx Scripts
  2710.    o  Fixed stdtail (stdfax) to put stuff in the anonymous mailbox.
  2711.    o  Fixed record.avm (bug in loadiff).  Changed loadiff to load from
  2712.       the file 'save.iff'
  2713.    o  Fixed abort.avm.  When recording with the external mic option, abort.avm
  2714.       used to not send the abort correctly.  It does now.  Of course, the AVM
  2715.       Player sends an abort message correctly now too, so this probably won't
  2716.       ever get called again (at least by any of the programs that use playercfg.h).
  2717.    o  Made beep in processmailbox longer (so it can be heard).  Also lengthened
  2718.       beeps when recording messages and when playing them back for retrieval.
  2719.    o  Shortened a lot of the scripts by being smarter with what gets included.
  2720.    o  Added AVMAnswerPriority for those people who want to receive faxes auto.
  2721.       but their modems don't support it.
  2722.    AVM Server
  2723.    o  Decided to make the AVM Server more resilient to changes in ROMS.  When
  2724.       a new DLE escape sequence is introduced (and the modem sends it to us),
  2725.       we don't automatically quit recording or playing.  Instead, we continue.
  2726.    o  Fixed dial number.  Now doesn't wait for a really long time if the
  2727.       modem returns something (BUSY, etc.).
  2728.    o  Fixed problem with recording short files using LineLink modem.  I forgot
  2729.       to flush my mini-buffer :)
  2730.    o  Made LineLink modems respond really fast (when someone presses a key,
  2731.       it will stop playing the voice file almost immediately).  This is quite
  2732.       nice.
  2733.    o  Fixed problem with recording that caused an "echo" :)  LineLink modems
  2734.       affected
  2735.    o  Just changed the task priority to be user-settable by using setenv.
  2736.       (AVMSERVERPRI)
  2737.    o  Fixed problem of receiving DLE sequences while playing a voice.  This
  2738.       used to stop the server and return immediately.  Now, it only does that
  2739.       if it is a key, busy, fax, data, timedout, user abort, or error.
  2740.    AVM Player
  2741.    o  Clicking on Abort is now much faster
  2742.    o  I couldn't make the time delay between clicking on record and the
  2743.       modem actually recording shorter because I still had to negotiate for
  2744.       using the server and stuff like that.  Plus, depending on the modem
  2745.       and rom settings, I may have to send between 1 and 5 commands to the
  2746.       modem before it actually starts recording.  So, the best way to tell
  2747.       when to start speaking is to watch the blinking lights :)
  2748.    o  Just changed the task priority to be user-settable by using
  2749.       setenv.  (AVMPLAYERPRI)
  2750.    o  Fixed Abort problem with the external mic option
  2751.    AVM ServerMan
  2752.    o  Made the task priority user-settable by using setenv. (AVMSERVERMANPRI)
  2753.    AVM ServerConfig
  2754.    o  Added SPC9600 and SPC8000.  The decoder is much faster.  I don't have
  2755.       a very good encoder though, which means that you're pretty much
  2756.       limited to recording your samples using the telephone line option.
  2757.       Note that this compression mode will use the serial port a lot more.
  2758.       So, try it out on your machine.  If you get serial port errors,
  2759.       then don't use this.  The major advantage is that it's easier to
  2760.       decode and can be played using AmigaDirect with a lesser
  2761.       CPU.  BTW -- this is for the LineLink modem.
  2762.    ADPCM2IFF
  2763.    o  Sped up CVSD to IFF.  This still is not fast enough on my 030/25
  2764.       though, to play direct to the amiga speakers.  But it's very close.
  2765.       You will hear a very small pause because the conversion didn't catch
  2766.       up to the playing.
  2767.    o  Added a new environment variable called AVMSCALEADJUST for CVSD
  2768.       decoding.  If you set AVMSCALEADJUST to -1 (via a setenv
  2769.       AVMSCALEADJUST -1 in the CLI), it will double the translated output.
  2770.       If you set it to -2, it will quadruple the output.  I think -1 and
  2771.       -2 are the only sane inputs here (and 0, of course).
  2772.    AVM Logger
  2773.    o  Environment variable AVMLOGFILE can point to a different file where
  2774.       the logger can save the output.
  2775.    Misc
  2776.    o  It is now possible to display status information (ARexx scripts need
  2777.       to be modified to do this) in the Player and anything that uses
  2778.       playercfg.h.
  2779.  V1.10
  2780.    ARexx scripts
  2781.    o  Fixed playtime to play the correct time now.
  2782.    o  Fixed playamigadirect to use the new calling format for adpcm2iff
  2783.    o  Fixed stdfax and stddata so that you can press * to abort them (when
  2784.       they are playing instructions on how to start the fax or how to start
  2785.       the terminal).
  2786.    o  Fixed abort.avm so that it can abort a conversion in progress
  2787.    o  Fixed playamiga.avm so that if a conversion is aborted, it will not play.
  2788.       Also, added an option to cause adpcm2iff to play the voice file while
  2789.       it is converting it.
  2790.    o  Added a check in playamiga.avm to see if the filename to be played
  2791.       has been pre-converted to an iff file already (the filename plus an 'i'
  2792.       exists).  In this case, it will play that file instead of converting.
  2793.    o  Added a new ARexx environment setting so that it pre-converts
  2794.    ADPCM2IFF
  2795.    o  Made it possible to both play and save to a file at the same time.  This
  2796.       may not work on your system (too slow?), but is good way to "preview"
  2797.       the voice file so you don't have to convert the whole thing.
  2798.    o  Added some parameters to make a GUI not show up (but this makes it not
  2799.       abortable at all).  This also puts it in the background.  This will
  2800.       eventually be used to pre-convert incoming voice files into IFF.
  2801.    o  Added the slow, more accurate method of converting CVSD voice files to
  2802.       IFF.  This is significantly slower, but comes out with nicer sounding files.
  2803.    Programmer
  2804.    o  Made the windows a lot smaller.  It still needs at least a 640x400 screen
  2805.       though.
  2806.    ServerConfig
  2807.    o  Made windows smaller
  2808.    MailboxConfig
  2809.    o  Made windows smaller
  2810.    o  Removed auto inform
  2811.    o  Changed the names of the options to make them more intuitive (hopefully)
  2812.    o  Made all of the "automatic" things have scripts that you can change
  2813.    o  Now, only valid characters are allowed in some of the string fields.
  2814.       For example, you cannot enter a space anymore into the password field.
  2815.    CallNotifier
  2816.    o  Made windows smaller
  2817.    o  Hid some of the buttons (that should not be used often)
  2818.    o  Made it possible to give "aliases" for each of the mailboxes.  These
  2819.       aliases can now have spaces in them (the names of the mailbox
  2820.       directories still cannot).
  2821.    LogView
  2822.    o  Made windows smaller
  2823.    o  Rearranged some of the buttons.
  2824.  V1.11
  2825.    ARexx Scripts
  2826.    o  Fixed processmailbox so that recording of intro messages goes into the
  2827.       correct directory.
  2828.    o  Added a new way of alerting you that there are messages.  It will now
  2829.       play an iff file called "avm:have1message.iff" or "avm:havemessages.iff".
  2830.    AVM Server
  2831.    o  Added two flags for making the detection of fax tones and data tones
  2832.       be less sensitive.  I now require reception of two data tones or two
  2833.       fax tones (with the appropriate flag set -- and it is enabled by default)
  2834.       before the server interprets it as a data or fax call.  This is because
  2835.       the ZyXEL doesn't seem to be too reliable in detecting these tones --
  2836.       it seems to be too sensitive.  The flags are called Needs2FaxTones
  2837.       and Needs2DataTones.  Both can be changed in the Advanced Flags
  2838.       section of ServerConfig.
  2839.    o  With the appropriate flag set (RetryAfterPortUsedError), the server
  2840.       will try to gain access to the serial port after a minute.  If someone
  2841.       is listening on the serial port, then there will be no problem since
  2842.       I always try to set some serial parameters, and this will fail if there
  2843.       is somebody using the serial port.  However, if we got into this error
  2844.       because of some bad timeout (or you turned off your modem), then we will
  2845.       be ok after a minute.  This flag is also available in the
  2846.       Advanced Flags section of ServerConfig.  Note that we will *not* retry
  2847.       to access the port if we were forced into Unlisten mode by an external
  2848.       ARexx command.
  2849.    o  When OwnDevUnit requests the port, we say so.  Also, we go into CommandMode.
  2850.    o  Removed a lot of the status updates which seemed to be wrong in main() --
  2851.       showRingNameNumber
  2852.    o  Now, we're a little bit smarter when starting up from UnknownMode.
  2853.       We try different things to get the modem's attention.  This is just
  2854.       in case we were in a bad state and the modem is not responding.  So,
  2855.       we try different techniques (like sending an XON, turning off
  2856.       record mode, play mode, doing a +++, followed by an ATH, etc.).
  2857.       We also try a variety of baud rates.
  2858.    o  Fixed ringScript activation to not call ringScript if we're about to
  2859.       answer the phone.
  2860.    o  Added flag "GrabModem", which tries different things to get the modem's
  2861.       attention when we get a Port Used error.
  2862.    o  Added flag "ResyncModem", which resyncs the modem every 10 minutes (approx).
  2863.       This is good to do -- it will cause the modem to go into command mode
  2864.       and back into the mode where it waits for rings.  This is useful especially
  2865.       if you tend to turn on and off the modem.  The only problem with this
  2866.       is that you may miss 1 or 2 rings.  This doesn't mean you will miss the
  2867.       call.  All it means is that the modem will not answer immediately.  This
  2868.       will only happen IF someone calls at the exact moment that we are testing
  2869.       the modem.
  2870.    ADPCM2IFF
  2871.    o  Fixed a bug which caused enforcer hits when trying to play a voice file
  2872.       that was zero in length.
  2873.   V1.11a
  2874.    Released to Aminet!
  2875.    AVM server
  2876.    o  Fixed scanForDLESequences so that it strips the DLE stuff (problem
  2877.       in zyxel that dle sequences may appear between things like CONNECT,
  2878.       etc.) from the string.
  2879.    Default Servers
  2880.    o  Removed all the E0 (turn off echo) from the setup string.
  2881.       This seems to make the zyxels a little less reliable.
  2882.       People have noticed lockups and I think this is the main cause.
  2883.   V1.12
  2884.    Added Scheduler, Programmer, SchedulerView, and Programmer source files
  2885.    to release.  They are now keyfile protected.
  2886.    CallNotifier
  2887.    o  Made the shut up button a checkbox gadget instead.  Also, made it
  2888.       have some "automatic" behaviour (when you open a mailbox, it
  2889.       automatically shuts up; when you get new messages, it automatically
  2890.       un-shuts up).
  2891.    ADPCM2IFF
  2892.    o  Added old zyxel conversion routines.  See StandardConfig.
  2893.    IFF2ADPCM
  2894.    o  Added old zyxel conversion routines.  See StandardConfig.
  2895.   V1.13
  2896.    Scheduler
  2897.    o  Fixed problem of saying that "That's weird, I thought..."
  2898.    ARexx Scripts
  2899.    o  Changed silentanswer.avmsrc - when you press 2 or 5, you get the 
  2900.       fax and data tones right away -- no more instructions.
  2901.    o  Changed logfunctions.avm - now it tells you when a mailbox doesn't
  2902.       exist when you try to save or load an entry.
  2903.    AVM Server
  2904.    o  Fixed it so that it answers the phone now.  Stupid bug.
  2905.   V1.14
  2906.    AVM Server
  2907.    o  Fixed the fix in 1.13
  2908.   V1.15
  2909.    ARexx Scripts
  2910.    o  Fixed a problem in playamiga.avm (thanks Stefan!)
  2911.    o  Made 0 = play menu again instead of starting up.
  2912.    o  Changed answerfax to handlefax
  2913.    o  Changed answerdata to handledata
  2914.    o  Added answerfax and answerdata (these are usable in the
  2915.       ServerConfig program)
  2916.    All Binaries except Programmer
  2917.    o  Everything is now keyboard accessible
  2918.    Programmer
  2919.    o  Fixed problem in low memory conditions.  When we run out of memory,
  2920.       we now exit cleanly rather than guru.
  2921.    o  Fixed problem where you click on the close gadget in one of the
  2922.       programmer windows and it doesn't actually close the window.
  2923.    Server
  2924.    o  Added some more debugging information.  I will be able to tell
  2925.       from the trace when the server was started (so I know if I got
  2926.       a complete trace).
  2927.    o  Added a way of doing some sort of distinctive ring even though the
  2928.       modem cannot distinguish them.  I can only distinguish between
  2929.       the normal ring, a ring-ring (2 sub-rings) ring, and a
  2930.       ring-ring-ring (3 sub-rings).  For the distinctive ring with 3
  2931.       sub-rings, there are two possibilities.  I do not distinguish
  2932.       between them.
  2933.   V1.16
  2934.    ARexx scripts
  2935.    o  Fixed scripts (send, reply, and addentry), which didn't work
  2936.       in 1.15 because I added debugging functions but forgot to
  2937.       include debugfunctions.avm :(
  2938.    o  Added support for calling a pager.  ARexx script that actually
  2939.       does call the pager isn't there, but some pagers can be called
  2940.       using the defaultSender ARexx script.
  2941.    ServerMan
  2942.    o  Added Quit No Kill.  This is equivalent to clicking on the
  2943.       window close gadget.  Quit will kill all the servers it knows
  2944.       about.
  2945.    Server
  2946.    o  Fixed the distinctive ring feature I added.  Why must
  2947.       enhancements introduce bugs?
  2948.   V1.17
  2949.    ARexx scripts
  2950.    o  Fixed autoforward and autopage so that they don't autoforward
  2951.       or autopage if the "ondemand" passwords are non-null.
  2952.    o  Fixed silentanswer (it wouldn't activate fax or data mode
  2953.       properly ever since I separated handlefax and answerfax,
  2954.       handledata and answerdata.
  2955.    o  Added User Beep
  2956.    AVM Server
  2957.    o  Added "NO CARRIER" as a string to look out for when dialing.
  2958.    o  Added extra debugging information when dialing.
  2959.    General Binaries
  2960.    o  Added underline for listview headers
  2961.   V1.17a
  2962.    o Fixed avm.doc
  2963.    o Added some flags to zyxel6.10 and zyxel6.01 server config files.
  2964.   V1.18
  2965.    Player
  2966.    o  Fixed the window title so that it shows up in the MUI Prefs
  2967.       program.
  2968.    Server
  2969.    o  Added initial Rockwell support.  Tested with the Zoom modem.
  2970.    ServerConfig
  2971.    o  Added support for the Rockwell based modems.
  2972.   V1.19
  2973.    CallNotifier
  2974.    o  When shutup is true, I also do the toll saver option (it will not
  2975.       pretend that there are no messages).
  2976.    iff2adpcm
  2977.    o  Added support for converting *any* rate iff file to the supported
  2978.       voice files.  This will now allow me to release 9600 s/s voice
  2979.       files in IFF format and have the user convert them into the necessary
  2980.       voice files.
  2981.   V1.19a
  2982.    Added H0 to LineLink144e default server -- this fixes the problem of
  2983.    the modem going to neverneverland after sending out voice messages.
  2984.   V1.19b
  2985.    AVM Server
  2986.    o  Fixed something related to the distinctive ring handling.  I counted
  2987.       rings correctly, but didn't dispatch the right ARexx script.
  2988.    ADPCM2IFF
  2989.    o  Recompiled it with optimization on
  2990.    IFF2ADPCM
  2991.    o  Added encoder for MTD Dolphin -- it looks like it works but I won't
  2992.    know for sure until someone with this modem tries it out.
  2993.    ARexx scripts (and sources)
  2994.    o  Added TrapFax support to play.avm
  2995.    o  Added TrapFax support to handlefax.avm
  2996.    o  Added TrapFax support to defaultsender.avm
  2997.    StandardConfig
  2998.    o  Added AVMFaxProgram (for gpfax or trapfax)
  2999.   ----------------------------------------------------------------
  3000.   As of this point, I started counting releases and didn't update
  3001.   version numbers of programs which were not touched.
  3002.   ----------------------------------------------------------------
  3003.   Release 1.20
  3004.    ServerMan 1.20
  3005.    o  Changed Quit No Kill to Quit; changed Quit to Quit All
  3006.    SchedulerView 1.20
  3007.    o  When user presses return on filename string gadget, I check
  3008.       if it's a fax file or not.  I adjust the type accordingly.
  3009.       Also, if he chooses a file using the file requester, I do
  3010.       the same thing.  Now, the user doesn't have to worry about
  3011.       selecting the type anymore.
  3012.    o  No more choice of save or quit.  Changed to a "Done" gadget.
  3013.    LogView 1.20
  3014.    o  Can now multi-select (to delete, archive, reply, and play)
  3015.    o  Added Stop All gadget to stop playing a multi-selected play
  3016.    ARexx Scripts 1.20
  3017.    o  Modified play.avm and abort.avm to support multi-play
  3018.  
  3019.   Release 1.21
  3020.    IFF2ADPCM 1.21
  3021.     o  Now loads stuff a chunk at a time.  Minimal memory needed.
  3022.    LogView 1.21
  3023.     o  Added Select All
  3024.     o  Fixed Stop and Stop All so that they have the same width
  3025.  
  3026.   Release 1.22
  3027.    ADPCM2IFF 1.20
  3028.     o  Plays to both speakers now.
  3029.  
  3030.   Release 1.23
  3031.    o Added startALL script, which starts the Logger program and also
  3032.      runs startAVMAndGPFax.
  3033.    o Changed silentanswer.avm so that it puts 'Silent' as the type
  3034.      in the listview.
  3035.    o Added some debugging information to handlefax and handledata.
  3036.    o Added time elapsed to handlefax and handledata
  3037.    o Added log entry when BBS is started or attempted (similar to
  3038.      what I do with fax reception).
  3039.    LogView 1.22
  3040.     o  Added check for invariant failure.  If something is selected
  3041.        but using MUIM_List_NextSelected failed to show it, I print
  3042.        something out.
  3043.    ADPCM2IFF 1.21
  3044.     o  Added code to ignore ctrl-c and ctrl-d
  3045.    IFF2ADPCM 1.23
  3046.     o  Added code to ignore ctrl-c and ctrl-d
  3047.     o  Fixed Zyxel adpcm stuff.  There was a bug in the conversion
  3048.        routine that was preventing me from decoding the entire
  3049.        -128-127 range.  Thanks to Thomas Lewandowski for making me
  3050.        look at this more closely.  One of the side effects of fixing
  3051.        this bug is that files converted from iff to adpcm2/3 are
  3052.        *much* cleaner and louder.
  3053.     o  Fixed bug in resampling that was causing it to not work
  3054.        correctly on really long files.
  3055.    Programmer 1.20
  3056.     o  Made it so that it says what the rexx filename is (not
  3057.        the source it was generated from).
  3058.    AVM Server 1.20
  3059.     o  Fixed it so that it doesn't create a blank file when we
  3060.        use AVMTemp for playing if the original file didn't exist.
  3061.  
  3062.   Release 1.24
  3063.    o Added new icons
  3064.    o Fixed installer script which didn't account for a filenames.cfg
  3065.      not existing (in case they weren't upgrading from an older
  3066.      version).
  3067.    o Added AVMDataAfterSilence to StandardConfig.  This says whether
  3068.      we should try data mode if we recorded just silence.  This only
  3069.      works for modems which can detect silence (not just quiet).
  3070.    o Changed broadcast.avm to be more general in terms of arexx port
  3071.      names.
  3072.    o Changed processmailbox.avmsrc so that it uses the new -1SECOND
  3073.      in adpcm2iff.  This minimizes memory consumption when doing
  3074.      the preconvert feature.
  3075.    IFF2ADPCM 1.24
  3076.     o  Now I correctly handle odd chunk sizes
  3077.     o  Removed version number from window name
  3078.     o  Added filter for LineLink (hopefully things are clearer now)
  3079.     o  Added support for zyxel 6.12 roms
  3080.    ADPCM2IFF 1.22
  3081.     o  If converted bytes is odd, I pad the iff file correctly
  3082.     o  Removed version number from window name
  3083.     o  Changed LineLink decompression so that it doesn't pay attention
  3084.        to AVMSCALEADJUST and AVMSLOWCVSD anymore.  Nobody used them.
  3085.     o  Went back to old way of doing LineLink conversion.  Should
  3086.        have a smaller executable now.
  3087.     o  Added support for zyxel 6.12 roms
  3088.    ADPCM2IFF 1.23
  3089.     o  Changed allocate of chip memory to be dependent on whether we
  3090.        actually play something.  Plus, allocation is done at run-time.
  3091.     o  Added support for doubling the size of the iff file (higher
  3092.        sampling rate) when converting a LineLink CVSD voice file.  This
  3093.        is probably the best I can do in terms of quality.  This is
  3094.        disabled by default.  AVMDOUBLERATE does this.
  3095.     o  Added support to scale the output (not just for LineLinks
  3096.        anymore).  AVMSCALEADJUST does this.
  3097.        Output is multiplied by AVMSCALEADJUST value and divided by
  3098.        128.
  3099.     o  Added -1SECOND, -2SECONDS, -3SECONDS, -4SECONDS.  This changes the
  3100.        length that we decompress before playing or saving.  This also
  3101.        tells adpcm2iff how much memory to allocate (1 second is the
  3102.        least amount of memory and 4 seconds is the most).
  3103.    AVM Server 1.21
  3104.     o  Fixed linelink to return QuietDetected.  It used to return
  3105.        SilenceDetected in SimpleRecordVoice.  LineLink doesn't do
  3106.        Silence Detection (only Quiet detection).
  3107.     o  Added debugging information to tell me whether SilentAnswer()
  3108.        was called or AnswerCall() was used.  For some reason, some of
  3109.        my faxes end up in the Silent mailbox.
  3110.    LogView 1.23
  3111.     o  Added arexx commands to "selectall" and "play"
  3112.     o  Made it so that you can only open one logview per mailbox.
  3113.        Also, the arexx port it opens is now called
  3114.        "AVMLOGVIEW.mailboxdir".  This helps tremendously in automating
  3115.        the playing of messages from an arexx script.
  3116.     o  When this program is double started, it uniconifies the other
  3117.        application and brings it to the front.
  3118.     o  Removed version number from window name
  3119.    ServerMan 1.21
  3120.     o  When this program is double started, it uniconifies the other
  3121.        application and brings it to the front.
  3122.     o  Removed version number from window name
  3123.    CallNotifier 1.20
  3124.     o  When this program is double started, it uniconifies the other
  3125.        application and brings it to the front.
  3126.     o  Removed version number from window name
  3127.    Logger 1.20
  3128.     o  When this program is double started, it uniconifies the other
  3129.        application and brings it to the front.
  3130.     o  Removed version number from window name
  3131.    Player 1.20
  3132.     o  When this program is double started, it uniconifies the other
  3133.        application and brings it to the front.
  3134.     o  Removed version number from window name
  3135.    ServerConfig 1.20
  3136.     o  When this program is double started, it uniconifies the other
  3137.        application and brings it to the front.
  3138.     o  Removed version number from window name
  3139.    Programmer 1.21
  3140.     o  When this program is double started, it uniconifies the other
  3141.        application and brings it to the front.
  3142.     o  Removed version number from window name
  3143.    Scheduler 1.20
  3144.     o  Removed version number from window name
  3145.    SchedulerView 1.2
  3146.     o  Removed version number from window name
  3147.  
  3148.   Release 1.25
  3149.    AVM Server 1.22
  3150.     o  Added LocalHandset support for Zoom and other Rockwell based modems
  3151.     o  Also added a flag called MonitorWithSpeaker which allows Rockwell
  3152.        based modems to play what's being recorded when someone calls.
  3153.     o  ExternalMic now records from an external mic if one is connected
  3154.        to your Rockwell based modem.  This no longer records from the
  3155.        LocalHandset (that's what the new option is for).
  3156.    ADPCM2IFF 1.24
  3157.     o  Fixed the DoubleRate thing.  I got things upside down :(
  3158.    LogView 1.24
  3159.     o  Added LocalHandset
  3160.    Player 1.21
  3161.     o  Added LocalHandset
  3162.    SchedulerView
  3163.     o  Added LocalHandset
  3164.    Misc
  3165.     o  Added playall.rexx script as an example on how to play all messages
  3166.        in a mailbox from an arexx script.  To run this script, you should
  3167.        open up a shell and type in:
  3168.  
  3169.          rx playall anonymous
  3170.  
  3171.        You can also open up other mailboxes as in:
  3172.  
  3173.          rx playall mailbox1
  3174.          rx playall mailbox2
  3175.  
  3176.     o  Added tozyxel612.rexx script.  This allows you to convert *all* the
  3177.        voice files in avm:voices from the old compression into the new
  3178.        compression.  This only works for ADPCM2.  For some reason, I didn't
  3179.        have to run this for the old voice files to work on my E+.  However,
  3180.        on the E, it is different.  It sounds really weird when you play
  3181.        something that was converted by the IFF2ADPCM program on the E
  3182.        running 6.12 roms.
  3183.  
  3184.        To run this script, you should open up a Shell (CLI), then
  3185.        type in:
  3186.  
  3187.          rx tozyxel612
  3188.  
  3189.     o  Added LocalHandset to play.avm
  3190.  
  3191.   Release 1.26
  3192.    AVM Scheduler 1.21
  3193.     o  Modified so that it doesn't schedule an event if there is no
  3194.        phone number.
  3195.     o  Added Send Manual button.
  3196.    AVM Server 1.23
  3197.     o  Added code for NoVoice option so fax code is usable even though
  3198.        you don't have a voice modem.
  3199.     o  Moved the code that checks to see if there are messages (this
  3200.        supports the Toll Saver option) to a place so that it's only
  3201.        executed once, when somebody actually calls, rather than every
  3202.        8 seconds like it used to.
  3203.    ServerConfig 1.21
  3204.     o  Added necessary stuff for fax.
  3205.    ARexx Scripts
  3206.     o  DefaultSender.avm -- added EFax support.
  3207.     o  play.avm -- added EFax support.
  3208.     o  createfax.avm -- creates a log entry when someone prints to our
  3209.        printer driver
  3210.     o  efaxview.avm -- simple program to view fax files created by efax.
  3211.        Currently uses fax2iff and Mostra.
  3212.    LogView 1.25
  3213.     o  Entries are now sorted by time.
  3214.    EFax 1.00
  3215.    
  3216.   Release 1.26b
  3217.    AVM Server 1.24
  3218.     o  When grabbing modem's attention, first thing to do is to 
  3219.        close the serial port (in the hope to drop DTR).  It will
  3220.        stay in that loop trying to reopen the serial port every
  3221.        second until it does.
  3222.    EFax 1.01
  3223.     o  Removed guru when startALL was started from the workbench.
  3224.        This had to do with the fact that efax was writing to stderr
  3225.        (or setting vbuf) but there was no stderr.  Also had problems
  3226.        with not allocating enough stack space.
  3227.  
  3228.   Release 1.27
  3229.    AVM Server 1.25
  3230.     o  Removed RAD_BOOGIE flag when switching between No Handshaking
  3231.        and Handshaking serial parameters.  Maybe this was causing some
  3232.        problems.
  3233.     o  When there is a serial port error, we now ignore it instead
  3234.        of causing a hangup.
  3235.    Default Servers
  3236.     o  Added &D2 to all the servers
  3237.  
  3238.   Release 1.28
  3239.    AVM Server 1.26
  3240.     o  TurnOffVoiceMode now does not bring us up to ConnectedMode
  3241.        if we were previously in UnknownMode or CommandMode.  It only
  3242.        brings us *down* to ConnectedMode if we were above ConnectedMode.
  3243.        After bringing us down to ConnectedMode, that's when it actually
  3244.        turns off voice mode.  Therefore, if the rexx command 'turnoffvoicemode'
  3245.        is executed and the server is in CommandMode or UnknownMode, nothing
  3246.        should happen (this is intentional and desirable).
  3247.     o  Put a kludge in PlayVoice so that if the modem returns printable
  3248.        characters while playing, it collects them and forms a string.  If
  3249.        that string is an "OK", then we assume that we fell into
  3250.        ConnectedMode even though we weren't supposed to.  This should
  3251.        make stuff a little more robust.
  3252.     o  Added a flag called UseDTMFControl (LineLink only).  When enabled,
  3253.        I use a new way of turning off the playing of the voice file after
  3254.        a DTMF key is pressed.  I think this is more robust than the other
  3255.        one and is hence enabled by default.
  3256.    ARexx scripts
  3257.     o  Handlefax.avmsrc now does not do a separate RequireMode(ConnectedMode).
  3258.        This is done by 'turnoffvoicemode'.
  3259.        Also modified the forwarding part.  Had to make the filename a
  3260.        full path to the actual fax file.  It worked correctly with GPFax
  3261.        since the fax filenames were always to a directory in GPFax:.  But,
  3262.        with (EFax), incoming faxes go into the mailbox directory.  Maybe
  3263.        we should actually make a copy in the Outgoing directory...
  3264.     o  Handledata.avmsrc now does not do a separate RequireMode(ConnectedMode).
  3265.        This is done by 'turnoffvoicemode'
  3266.     o  Abort.avm now handles aborting the fax program if necessary
  3267.     o  Defaultsender.avmsrc has been fixed so that it doesn't try
  3268.        to open 999 files before sending a fax using EFax.  Oops :)
  3269.     o  Added print.avm
  3270.     o  Added printfile.avm
  3271.     o  Changed efaxview.avm to use my fax viewer
  3272.    EFax 1.02
  3273.     o  Incorporated Ed Casas' changes to bring it to his efax v 0.6a
  3274.     o  Added stuff so that dialing and answering are abortable
  3275.    ServerMan 1.22
  3276.     o  Added aborting of the fax program
  3277.    playercfg.h
  3278.     o  All programs using playercfg.h will abort the fax program now.
  3279.    LogView 1.26
  3280.     o  Added Print Fax gadget.  This prints out faxes.
  3281.    SchedulerView 1.23
  3282.     o  Added Print Fax gadget.  This prints out faxes.
  3283.    AVMFaxPrint 1.00
  3284.     o  Fax print program.  Without the keyfile, you will only get
  3285.        the first half page of output.
  3286.    AVMFaxView 1.00
  3287.     o  Fax view program.  Keyboard driven only.  Doesn't do
  3288.        magnifications yet.  But it prints out using AVMFaxPrint.
  3289.  
  3290.   Release 1.29
  3291.    AVM Server 1.27
  3292.     o  If we fail to reopen the serial port after closing it (to drop
  3293.        DTR), we will go into the normal closeSerial function which
  3294.        will wait for an OPENSERIAL or QUIT on the ARexx port.  We won't
  3295.        keep trying to reopen it anymore.
  3296.     o  When in unlisten or closeserial, either an openserial or listen
  3297.        will wake them up.
  3298.    AVM FaxPrint 1.01
  3299.     o  Fixed it so that it always prints black on white by using my
  3300.        own ColorMap instead of the screen's ColorMap (which may be
  3301.        arbitrary).
  3302.    AVM FaxView 1.01
  3303.     o  Fixed it so that it doubles standard size faxes (for aspect)
  3304.     o  Fixed so you can stretch it horizontally *and* vertically
  3305.    ARexx scripts
  3306.     o  handlefax.avmsrc - Added changes for TrapFax to receive more
  3307.        than 10 pages
  3308.     o  efaxview.avm - fixed so that you can view multiple fax files
  3309.     o  printfile.avm - fixed
  3310.    GNU/fax2iff
  3311.     o  fixed so that it doesn't have enforcer hits if it couldn't
  3312.        open the destination file.
  3313.    GNU/efax 1.03/0.6b
  3314.     o  fixed stuff for class 1
  3315.  
  3316.   Release 1.30
  3317.    AVM Server 1.28
  3318.     o  showCID.avm has two variables:  'cidName' and 'cidNumber'.
  3319.        These are set before this script executed.  If the cidName
  3320.        or cidNumber contains a quote '"', it will be converted
  3321.        to a single quote.  This sends stuff to the CID Logger.
  3322.    CID Logger 1.00
  3323.     o  OK, I was 'coerced' into writing this program :)  Any
  3324.        contributions are gladly accepted.
  3325.    ARexx scripts
  3326.     o  Fixed silentanswer.avmsrc so that it stores CID information
  3327.        in any logs it creates.
  3328.     o  Added rexxsupport.library everywhere needed.
  3329.     o  Modified alertring.avm
  3330.     o  Added showcid.avm
  3331.     o  Added stuff sent by Carl Wernhart to better support TFax.
  3332.        Thanks again Carl!  I hope I got it right.
  3333.    AVM-install
  3334.     o  Added options to backup rexx, source, and icons
  3335.    SchedulerView 1.24
  3336.     o  When playing a personalized intro file, it used to look at
  3337.        'origMailbox' rather than the current mailbox.  This is now
  3338.        fixed.
  3339.  
  3340.   Release 1.30a
  3341.    AVM Server 1.29
  3342.     o Fixed caller id stuff.
  3343.  
  3344.   Release 1.30b
  3345.    AVM FaxPrinter 1.01
  3346.     o Added hack to make FCII rel 1 print.  This has the unwanted
  3347.       side effect of printing some garbage to the *actual* printer.
  3348.       I suggest that you redirect output to PAR: using the AmigaDOS
  3349.       CMD command.  To enable printing using this hack, do a
  3350.       "setenv AVMFCIIREL1HACK yes" from the shell.  Or, you can put
  3351.       this in your StandardConfig file.
  3352.  
  3353.   Release 1.31
  3354.    AVM Server 1.30
  3355.     o Added new key for fax only users.
  3356.    AVM Programmer 1.22
  3357.     o If you put a double-quote in front of a WriteLine's Line
  3358.       string, the rest of the line won't appear in single quotes.
  3359.       This allows you to put variables there and not just literal
  3360.       strings.
  3361.    ARexx Scripts
  3362.     o Changed handledata.avmsrc so that it puts the length of the
  3363.       connection in log.length and not just as a comment.
  3364.    AXsh stuff
  3365.     o Found a bad bug.  Apparently, AXsh doesn't set its own stack.
  3366.       So, if you happen to run it with a low stack, it may crash
  3367.       your machine.  Or, it may put it in a bad state.  So, now,
  3368.       instead of calling AXsh directly, I execute an AmigaDOS script
  3369.       that sets the stack first.
  3370.    AVM FaxView 1.02
  3371.     o Should print now using '*'
  3372.  
  3373.   Release 1.32
  3374.    Scheduler 1.22
  3375.     o Added double-start semantics
  3376.     o Only one scheduler per mailbox allowed now (similar to LogView)
  3377.    AVM Server 1.31
  3378.     o Fixed so that if there is a serial port error, it should not
  3379.       cause a crash.  I'm not sure if io_Actual is set correctly
  3380.       by the serial device if io_Error is non-zero.
  3381.     o Increased the length of debugging info from readLine
  3382.     o A 'Q' is returned if there was an error reading from the
  3383.       serial device for the 'initial 1 character' read.
  3384.     o Extra checks were put in plus more debugging info was added
  3385.       in cases where there were serial port errors.
  3386.    EFax 1.04
  3387.     o Fixed so that if there is a serial port error, it should not
  3388.       cause a crash.  I'm not sure if io_Actual is set correctly
  3389.       by the serial device if io_Error is non-zero.
  3390.     o A 'Q' is returned if there was an error reading from the
  3391.       serial device for the 'initial 1 character' read.
  3392.     o Extra checks were put in plus more debugging info was added
  3393.       in cases where there were serial port errors.
  3394.  
  3395.    Fixed avm-install script for using the old icons stuff.  It *was*
  3396.    working, it just wasn't asking the right question :)
  3397.  
  3398.    Merged startAVMAndGPFax, startALL, and startAVM.  You should
  3399.    always start AVM using the startAVM icon or startAVM script.
  3400.    You can configure which programs get started automatically
  3401.    by editing your StandardConfig file.
  3402.  
  3403.   Release 1.33
  3404.    AVM Server 1.32
  3405.     o When in Unlistened or Closed Serial mode, Abort will get it
  3406.       out.
  3407.     o Server now looks at Command Pause in the fax parms setup.
  3408.       Increasing this number increases the wait time before writing
  3409.       out AT strings by 100 milliseconds.  This may help if your
  3410.       modem doesn't accept AT strings in quick succession.
  3411.    AVM FaxPrinterD
  3412.     o Now you can use your own font and font size.  Just edit
  3413.       StandardConfig.
  3414.  
  3415. 19. Wish List
  3416. -------------
  3417.  
  3418.  5/26/94
  3419. -  o Add Send Manual to Scheduler, which should cause it to send
  3420.     the file using ATD (no telephone number).  This is usual for
  3421.     doing faxes where you have to manually call them up before
  3422.     clicking on Send.
  3423.  
  3424.  4/18/94
  3425. -  o Make iff2adpcm load stuff a chunk at a time.
  3426.  
  3427.  4/17/94
  3428.   o Reduce memory requirements for programmer
  3429.   o Add forward to logview
  3430.   o In schedulerview, if the user selects an iff file, we should
  3431.     go ahead and convert it for him.
  3432.  
  3433.  4/15/94
  3434. -  o In schedulerview, we should probably have another type (Unknown
  3435.     or Unrecorded) to alert the user that the file that has been
  3436.     selected is not a valid thing to send.  After recording, then
  3437.     we can adjust the type accordingly.
  3438. -  o  In the scheduler, when you click on the file gadget or hit return
  3439.      on the string gadget specifying a file, try to find out if it's
  3440.      a fax file or not and automatically set the 'type'.  If it's not
  3441.      a fax file, then assume it's a voice file that's to be recorded.
  3442.   o  Print out the compression type that's being decoded or encoded in
  3443.      adpcm2iff or iff2adpcm
  3444.   o  Multiple delete/play/archive in logview
  3445. -  o  Quit All in ServerMan to kill every avm program that's running
  3446.  
  3447.  3/23/94
  3448.   o  Add a restart servers to serverconfig.  Better yet, add a way to
  3449.      tell the AVM server to re-read the config file.
  3450.  
  3451.  2/26/94
  3452.   o  At certain times, the rings to be expected may change.  Need to add an
  3453.      ARexx command in the servers to change the number of rings.
  3454. -  o  When playing to Amiga (not AmigaDirect), add an option to play the
  3455.      file while it's being converted.  Although it won't be real time (the
  3456.      voice file will not be continuous), at least you will get to hear
  3457.      parts of it to see if it's worth the wait.
  3458.  
  3459.  2/25/94
  3460.   o  Maybe blink the power led when the answering machine is on.  But,
  3461.      we need to blink it differently than our flashpower program does.
  3462.  
  3463.  2/24/94
  3464. -  o  If port is in use, try every 5 minutes to get the port.  Maybe try
  3465.      different things to get the port to listen.
  3466. -  o  Add Quit & Kill Servers to serverman to quit serverman and to kill
  3467.      all the active servers.
  3468. -  o  Add a name field for mailboxes (in mailbox config) and use that
  3469.      to show what's in the call notifier (not just the directory name).
  3470. -  o  Pre-convert voice files while machine is idle (in other words,
  3471.      do a low priority conversion routine when voice files are created).
  3472.  
  3473.  2/21/94
  3474.   o  Add play all to the logview
  3475.   o  Add delete all to the logview
  3476.   o  Add "serverconfig" to the server manager (opens up a serverconfig
  3477.      program).
  3478.  
  3479.  2/10/94
  3480. - o  Make a special answervoice to do simple answering machine stuff
  3481. - o  Clean up ServerMan to hide the Close, Open, Unlisten, Listen,
  3482.     Start, and Kill server gadgets.
  3483.  
  3484.  2/9/94
  3485.  o  Allow disabling of busy detect for ROM versions which are faulty
  3486.  o  Use user-defined filenames for saveiff or loadiff
  3487. - o  Allow Player/Recorder to play/record user defined files
  3488.  o  Phonebook that's integrated with the logview (so you can show the names
  3489.     of the people with a particular phone number)
  3490.  o  Add better error reporting (like when audio.device is being used)
  3491.  
  3492.  2/8/94
  3493. - o  Make the anonymous mailbox accessible from the other mailboxes
  3494. - o  Finish the Scheduler and SchedulerView scripts
  3495. - o  Document Scheduler/SchedulerView
  3496.  o  Document Programmer
  3497.  o  Make a "copy" template for each of the Programmer constructs so that,
  3498.     when a construct is instantiated, the new construct copies stuff from
  3499.     this template.  Template should be persistent.
  3500.  o  Secretary feature for calling people (integrated with the phonebook --
  3501.     click on somebody to dial out until connected, play some file,
  3502.     and beep)
  3503.  o  Localize the program (binaries and ARexx scripts -- this includes
  3504.     localizing the concatenations of numbers)
  3505. - o  Add a button to the Call Notifier to shut up until the next call comes
  3506.     in.
  3507. - o  Support Rockwell chipset voice modems
  3508.  o  Pre-load most of the shorter ARexx scripts (such as delete, broadcast, 
  3509.     etc.).  This should speed things up quite a bit
  3510. - o  Add options so that we can easily customize the ARexx scripts without
  3511.     having to maintain several versions for different users.  Probably do
  3512.     this through the getclip and setclip ARexx functions.  Can't do this
  3513.     with environment variables since they are not easily accessible from
  3514.     ARexx.
  3515. - o  Use MUI better -- make everything controllable from the keyboard
  3516. - o  Have multiple (random, day, or time driven) greetings
  3517.  o  Fix up string gadgets which accept input to *not* allow spaces to be
  3518.     typed in
  3519.  o  Add some flags to the AVM server to filter out debugging information
  3520.     (so we don't have to see it all)
  3521.  
  3522. 20. Acknowledgements
  3523. --------------------
  3524.  
  3525.  o  Stefan Odendahl for helping me find lots of bugs and problems
  3526.     in the documentation.
  3527.  o  Mike Sinz for SimpleRexx and Enforcer
  3528.  o  Dr. Greg Perry of GPSoft for GPFax
  3529.  o  SAS for SAS/C
  3530.  o  David Gay for Emacs port
  3531.  o  ZyXEL for their modem and the conversion routines from ADPCM2/3 to
  3532.     something
  3533.  o  Sierra Semi for being helpful w/r to the LineLink modem
  3534.  o  Commodore Amiga for their iff routines
  3535.  o  David Junod for FindLine
  3536.  o  Alex G. M. Smith for AGMSRecordSound and AGMSRecordSoundPS3.
  3537.     He was helpful in adding the ARexx commands
  3538.     necessary to make these program work seamlessly with AVM.
  3539.  o  Dave Schreiber for DSound 1.31.  I included a modified
  3540.     executable as well as his original DSound.doc.  According
  3541.     to his docs, there's no mention of not being allowed to
  3542.     do what I did.  If there's a problem, Dave, send me email.
  3543.     I will send the source modifications to anyone who asks.
  3544.  o  Kasper Peeters for helping me add support for the dolphin
  3545.     modem.
  3546.  o  Carl Wernhart - TrapFax support is (c) by him -- thanks!
  3547.  o  Thomas Lewandowski - New Icons are (c) by him -- thanks!
  3548.  
  3549. 21. Beta Testers
  3550. ----------------
  3551.  
  3552.  o  Stefan Odendahl
  3553.  o  Dirk Sieber
  3554.  o  Michael Breger
  3555.  o  James Atwill - thanks for the asl code!
  3556.  o  Christian Stelter
  3557.  o  Pjotr Sjostrom
  3558.  o  Frank Geider
  3559.  o  Fred Pienkos
  3560.  o  Cogrossi Fulvio - please send me email!
  3561.  o  Tim Lloyd
  3562.  o  Daniel J. McCoy
  3563.  o  Ryan Bruner
  3564.  
  3565. 22. Common Problems
  3566. -------------------
  3567.  
  3568.  o  AVM doesn't seem to play a file that I selected using the
  3569.     file requester.
  3570.  
  3571.     AVM *cannot* play filenames with spaces in
  3572.     them.  For example, the file "Ram Disk:dialtone" cannot be
  3573.     played.  You need to use "ram:dialtone".  Sorry, but I just don't
  3574.     have the time to go through all the ARexx scripts and fix
  3575.     this.  This was one of those "compromises" I made when I started
  3576.     this project.  I didn't want to have to muck around with quoting
  3577.     conventions.
  3578.  
  3579.  o  AVM reports that the serial device either couldn't be opened when
  3580.     working with GPFax.
  3581.  
  3582.     You should make sure that the shared mode flag in GPFax is enabled.
  3583.  
  3584.  o  When answering a fax call, the modem picks the line up, drops it,
  3585.     then picks it up again.
  3586.  
  3587.     This is caused by an "&F" in the Modem Init string of GPFax.  You
  3588.     should remove this.
  3589.  
  3590.  o  I have trouble receiving and sending faxes with the LineLink
  3591.     modem.
  3592.  
  3593.     You need to make sure the Modem Init string is the
  3594.     same as the init string mentioned in step number 8 of
  3595.     `Setting up'.  Also, the LineLink modem cannot detect a
  3596.     fax automatically.  You will need to instruct people who may
  3597.     send faxes to you that they have to follow instructions (like
  3598.     pressing 2) on how to start up fax reception.
  3599.  
  3600.  o  AVM doesn't handle data calls properly.  Why?
  3601.  
  3602.     You need to make sure that AXsh is set up properly.  Here is
  3603.     what I needed to do in my s:user-startup
  3604.  
  3605.       ;BEGIN AXSH
  3606.       assign axsh: pd:axsh.installed
  3607.       path axsh:bin
  3608.       mount axaux: from axsh:etc/mountlist.axsh
  3609.       ;END AXSH
  3610.  
  3611.     In addition to making sure that AXsh is set up properly, you
  3612.     need to make sure that "answerdata" is in the `Data Call' 
  3613.     field.  The ARexx script "answerdata.avm" sets up the modem,
  3614.     performs an ATA, then calls the script "startbbs.avm" if
  3615.     there is a modem connection.  If you are not using AXsh, the script
  3616.     "startbbs.avm" is where you should start tinkering.
  3617.  
  3618.  o  I get very short files when recording;  sometimes, they're
  3619.     truncated.  Sometimes, there's too much silence.
  3620.  
  3621.     When you press `Record', there is a short delay before
  3622.     the modem actually starts recording.  This is due to two things:
  3623.     First, I need to send commands to the modem to actually start
  3624.     recording.  This takes a finite amount of time.  Second, I need to
  3625.     tell the server to tell the modem to start recording.  To do this,
  3626.     I use ARexx to communicate between the user interface and the AVM
  3627.     Server.  Again, this takes some processing time.  So, to be sure
  3628.     that what you say gets recorded, you should press `Record', then watch
  3629.     the modem until some light starts flashing continuously (this
  3630.     indicates a recording process).  Then you can start speaking.
  3631.  
  3632.     When stopping the recording, there is also a short delay between
  3633.     the time you press `Stop' and the time the recording actually stops.
  3634.  
  3635.     These short delays will take some getting used to, but when you're
  3636.     used to them, they will turn into a minor annoyance.  These delays
  3637.     may decrease in future versions.
  3638.  
  3639.  o  How do I save window positions and sizes and icon positions?
  3640.  
  3641.     Go to a CLI, cd to env:mui, look for the names of the AVM programs
  3642.     (AVMLOGVIEW, AVMCALLNOTIFIER, AVMLOGGER, AVMPLAYREC, etc.), and copy
  3643.     their .wini files to envarc:mui.  For icon positions, you need to use
  3644.     the MUI Prefs program.  Then copy over the .prefs files to envarc:mui.
  3645.  
  3646.  o  How do I put all the windows on a different screen?
  3647.  
  3648.     Use the MUI Prefs program to create a public screen and tell MUI
  3649.     to open up the windows on that public screen.
  3650.  
  3651.  o  How do I make the windows open up in iconified form?
  3652.  
  3653.     Use the MUI Prefs program.
  3654.  
  3655.  o  Do I need a registered version of MUI? 
  3656.  
  3657.     No, you do not.  But, you will be able to customize all the AVM
  3658.     programs if you do register MUI.  I really encourage you to do so.
  3659.     Stefan Stuntz has done a very good job with MUI, so please support
  3660.     him.
  3661.  
  3662.  o  When I try to edit something in the programmer, no window opens and the
  3663.     programmer hangs.
  3664.  
  3665.     You need to have a screen size of at least 640x400.
  3666.     MUI will not open a window if it is too large to fit in the screen.
  3667.  
  3668.  o  When using the programmer, sometimes it just exits.
  3669.  
  3670.     You probably don't have enough memory.  The Programmer uses a lot
  3671.     of memory because of the large windows it uses and the fact that
  3672.     it loads an entire file into memory.  Try closing other
  3673.     applications when using the Programmer.
  3674.  
  3675.  o  Sometimes, AVM misses keys pressed by a caller.
  3676.  
  3677.     This is not AVM's  fault.  It is the fault of the modem.
  3678.     I have nothing to do with detection of DTMF keys.  It just
  3679.     reports them to me.  If you have a ZyXEL with a ROM less
  3680.     than 6.11a, I really recommend that you upgrade your ROMS.
  3681.  
  3682.  o  After 10 minutes, the AVM server dies for some unknown reason.
  3683.  
  3684.     The UNREGISTERED version will not work properly unless its "annoying"
  3685.     window opens up on the WorkBench.  Therefore, do not use a public
  3686.     screen manager to "shanghai" its window to another screen.  Also,
  3687.     do *not* use an external program to close the window or resize the
  3688.     window.  Your computer may crash.  I am not responsible for crashes
  3689.     due to tampering with the "annoying" window.
  3690.  
  3691.  o  AVM doesn't want to record anything.
  3692.  
  3693.     Perhaps you didn't set things up correctly.  You need to make
  3694.     sure that the Drawer "AVM:voices" exists.  From the WB, create
  3695.     a drawer called "voices" in the AVMSuite Drawer.  Or, from the
  3696.     CLI, type in "makedir avm:voices".
  3697.  
  3698.  o  AVM only records silence or a dial tone when I'm using the
  3699.     TelephoneLine option.
  3700.  
  3701.     For all modems *not* based on the Rockwell chipset,
  3702.     the telephone should *not* be hooked up to the back of the modem.
  3703.     You should hook up the telephone and modem using a splitter of
  3704.     some sort.
  3705.  
  3706.  o  AVM hangs up while you are accessing some of the voice menus (when
  3707.     calling).  Or, it just hangs up on you.
  3708.  
  3709.     Make sure that you record all the messages in the Player program.
  3710.     If you did record all the messages, then run the Logger program,
  3711.     play around with the system until it hangs up unexpectedly.  Then,
  3712.     click on the Save button in the Logger window, and send me the
  3713.     file called "avm:logger.save".  That will help me tremendously
  3714.     in finding out what is wrong.
  3715.  
  3716.  o  Recording doesn't seem to work too well.  It seems to terminate early.
  3717.  
  3718.     Try running the program called Logger.  When recording, if it says there's
  3719.     a serial port error, then your machine cannot handle the speed at
  3720.     which the modem is transmitting data at.  Maybe you have a program
  3721.     running in the background that's taking up so much CPU time that
  3722.     it takes too long to process the serial port interrupt.  The first
  3723.     thing to try is to enable the "Use AVMTemp: for Recording" button
  3724.     in the Server Config program and restart the AVM Suite.  If that
  3725.     still doesn't work, try opening up a public screen with a low
  3726.     resolution.  Then, switch to that screen and try AVM again.  If that
  3727.     still doesn't work, you may need one of those high speed serial
  3728.     ports which handle high speeds more easily.
  3729.  
  3730.  o  On the LineLink modem, AVM seems to hang up when playing to the modem.
  3731.  
  3732.     Maybe you enabled the "UsesHardwareHandshaking" flag in the
  3733.     Advanced Flags section.  Disable that and try it again.  Please don't
  3734.     play with things that aren't documented.
  3735.  
  3736.  o  How can I speed up playback of my incoming messages through the
  3737.     Amiga?
  3738.  
  3739.     You can turn on the PreConvert feature.  See `Pre-Converting'.
  3740.  
  3741.  o  I'm using a LineLink modem and playback through the Amiga is very
  3742.     soft.
  3743.  
  3744.     Try adjusting the AVMSCALEADJUST environment variable.  See
  3745.     `Scaling output'.
  3746.  
  3747.  o  Why does AVM not release the serial device when I quit all the AVM
  3748.     programs?
  3749.  
  3750.     Remember that there is a "server" that's running in the background.
  3751.     If you have an unregistered version of AVM, you would see the
  3752.     window.  If you have a registered version, you probably wouldn't
  3753.     even know it was running.
  3754.  
  3755.     As of V1.17, you now have a Quit button and a Quit No Kill button.
  3756.     If you Quit, you take all the servers with you.  With the other
  3757.     button, you don't.
  3758.  
  3759.  o  Do I need a digitizer to make my own messages?
  3760.  
  3761.     No, you can use the TelephoneLine option to record any outgoing
  3762.     messages.
  3763.  
  3764.  o  How can I customize the way dates and times are played back
  3765.     through the modem?  It seems like it's too "American".
  3766.  
  3767.     Read the manual.  See `Date Format' and `Time Format'.
  3768.  
  3769.  o  How can I customize the way AVM displays dates in the Scheduler,
  3770.     LogView, SchedulerView, etc.?
  3771.  
  3772.     Read the manual.  See `Time and Date Specification'.
  3773.  
  3774.  o  Can I distribute keyfiles?
  3775.  
  3776.     Absolutely not.  You can only distribute AVM as it comes in
  3777.     its .lha form.  You cannot create a new archive or add to
  3778.     the archive that's available for download.
  3779.  
  3780.  o  Why should I register?
  3781.  
  3782.     Because it would encourage me to keep supporting AVM.  I don't
  3783.     think I charge too much for what this software is capable of.
  3784.  
  3785.     Even if you do not register, I would appreciate a postcard
  3786.     from you saying that you use AVM.
  3787.  
  3788.  o  On a ZyXEL, when sending out voice files using the scheduler,
  3789.     it seems to be playing the voice files even though the called
  3790.     party hasn't picked up the phone.  Why?
  3791.  
  3792.     The ZyXELs cannot seem to determine reliably when the called
  3793.     party has actually picked up the phone.  I can't figure out
  3794.     what the problem is.  Probably a bug in the ROMs.  Don't
  3795.     worry, outgoing messages are repeated multiple times.
  3796.  
  3797.  o  How do I change the icons when the program is iconified?
  3798.  
  3799.     Use some icon editor and edit the icons in avm:icons.
  3800.  
  3801. 23. New Voice Files
  3802. -------------------
  3803.  
  3804.  Execute the script called "avm:renamevoicefiles".  I renamed stuff
  3805.  like one, two, ... to number1, number2, ... to facilitate in sorting
  3806.  stuff in the Player program.  Note that this script is executed
  3807.  automatically if you used the Install script.
  3808.  
  3809.  Execute the script called "avm:deletevfiles".  This will delete
  3810.  all the obsolete voice files.  Note that it won't delete voice files
  3811.  that are still usable.  Only the minimal number of voice files will
  3812.  be deleted.  If you run the installer script, I ask before doing this.
  3813.  However, I highly recommend that you do this and just re-record
  3814.  everything that the Player program tells you to record.
  3815.  
  3816. 24. Caller ID and Distinctive Ring
  3817. ----------------------------------
  3818.  
  3819.  If you have a ZyXEL, the way to activate Caller ID is to put an
  3820.  S40.2=1 in your Voice Setup String.  LineLink owners cannot make
  3821.  use of the Caller ID feature.  I have it on good authority that
  3822.  the hardware cannot physically support Caller ID.  Remember that
  3823.  although the ROMS say they support Caller ID, if the modem
  3824.  doesn't have enough "stuff" in it to pick up Caller ID information,
  3825.  then the modem cannot support Caller ID.
  3826.  
  3827.  To activate the Distinctive Ring feature in your ZyXEL, you need
  3828.  to put an S40.3=1S40.4=1S40.5=1S40.6=1 in your Voice Setup String.
  3829.  If you have any other modem, you don't need to do anything.  Try
  3830.  it out and see if AVM can distinguish between the different
  3831.  distinctive rings that you have subscribed to your phone company
  3832.  for.
  3833.  
  3834. 25. Programmer
  3835. --------------
  3836.  
  3837.  I cannot describe everything that the Programmer can do at this
  3838.  time.  Sorry.  But, I will tell you how to add new mailboxes.
  3839.  
  3840.  The first thing to do is to add a mailbox using the Call Notifier
  3841.  program.  When you add a mailbox, don't include spaces in the
  3842.  mailbox name.  Note that I distinguish between a mailbox name
  3843.  and a mailbox alias.  The mailbox alias is what you see in
  3844.  the Call Notifier listview.  Sometimes, the alias is the same
  3845.  as the name.
  3846.  
  3847.  Anyway, the next thing to do is to run the Programmer.  Double-
  3848.  click on the file called startup.avmsrc.  Double-click on the
  3849.  line which says level0.  This is a menu to which you can add
  3850.  mailboxes.  Look at how mailbox1 and mailbox2 are done.  You
  3851.  will see how easy it is to use the Programmer.  Really!
  3852.  
  3853.  Once you're done editing stuff, Save your changes, then click
  3854.  on Compile.  Then, test out your new system.  If it fails
  3855.  for some unknown reason, try Compiling again.  This has
  3856.  something to do with "include" dependencies that I'd rather
  3857.  not get into.  Note that I've never needed to Compile
  3858.  twice -- I just thought I should mention it just in case.
  3859.  
  3860. 26. Faxing without a Voice Modem
  3861. --------------------------------
  3862.  
  3863.  Since you're reading this, you probably don't have a voice
  3864.  capable modem.  Too bad :(  Anyway, you can still use AVM
  3865.  and the fax program and utilities it comes with for sending
  3866.  and receiving faxes.  To install AVM, follow the instructions
  3867.  0, 1, 2, 3, 4, 5, 7, 9, 10, and 13.  If you use the AVM-Install
  3868.  script, just do 0, 1, double click on the AVM-Install icon, do
  3869.  9, 10, then 13.
  3870.  
  3871.  Read the instructions in `Faxing' to see how to send and
  3872.  receive faxes.
  3873.  
  3874.  If you want to free up some disk space, you can do the ff.
  3875.  from a Shell:
  3876.  
  3877.  delete avm:AGMS#?
  3878.  delete avm:source all
  3879.  delete avm:contrib all
  3880.  delete avm:voices/#?
  3881.  delete avm:filenames.cfg
  3882.  delete avm:player#?
  3883.  delete avm:programmer#?
  3884.  delete avm:iff2adpcm#?
  3885.  delete avm:adpcm2iff#?
  3886.  delete avm:anonymous/pickup.iff
  3887.  delete avm:mailbox1/pickup.iff
  3888.  delete avm:mailbox2/pickup.iff
  3889.  delete avm:rexx/silentanswer.avm
  3890.  delete avm:rexx/recordconversation.avm
  3891.  delete avm:rexx/secretary.avm
  3892.  delete avm:rexx/answervoice.avm
  3893.  
  3894.  There are probably some more things you can delete, but these
  3895.  I'm sure you won't need if you don't have a voice-capable
  3896.  modem.
  3897.  
  3898. 27. Faxing
  3899. ----------
  3900.  
  3901.  EFax is now included with AVM.  It is a class 1 or class 2
  3902.  fax program.  To view received faxes, you just use the LogView
  3903.  program.  It will convert the fax into an iff file and will
  3904.  then invoke AVMFaxView which allows you to view it.
  3905.  
  3906.  To send a fax, double click on printHigh or printLow.
  3907.  Alternatively, you can, from a Shell:
  3908.  
  3909.    execute avm:printHigh
  3910.      or,
  3911.    execute avm:printLow
  3912.  
  3913.  printHigh should be used if you want to use Fine mode when
  3914.  creating your fax file.  printLow should be used when Standard
  3915.  mode is used.
  3916.  
  3917.  Once you do the above, a program called FaxPrinterD should
  3918.  appear.  If it does not, something is wrong and any printing
  3919.  to the faxprinter device driver will not work properly.  Try
  3920.  running FaxPrinterD from a Shell to see why it failed to
  3921.  run.  Most likely, it couldn't find a font used to render
  3922.  text printouts.  You should edit StandardConfig to use a
  3923.  font that you have.
  3924.  
  3925.  Then, print using any Amiga program.  When done printing,
  3926.  a SchedulerView will open up to allow you to enter the telephone
  3927.  number.  After entering it, click on Done.  Then, press the
  3928.  Send button in the Scheduler.  This will send it now.  If you
  3929.  scheduled it for a later time, it will go out at that time
  3930.  (assuming you registered the AVM Scheduler).
  3931.  
  3932.  Note that when printing out to a fax file, you should ensure
  3933.  that there is an adequate margin on the left and right sides.
  3934.  When printing from a word processor, try to make sure that there
  3935.  is at least 1 inch on both sides of the page.  When printing
  3936.  in text mode, try to make sure that there are 10 spaces to the
  3937.  left and right of all your text.  If you don't ensure these
  3938.  margin settings, your fax may not be completely readable at the
  3939.  other end (the left and/or right part of the fax may be chopped
  3940.  off a little -- that's why you should ensure that those parts
  3941.  don't contain anything useful).
  3942.  
  3943.  After printing using your Amiga program, double click or execute
  3944.  printPrinter.  This will use the previous Printer and PrinterGfx
  3945.  preferences settings (which will allow you to print stuff to
  3946.  your printer).
  3947.  
  3948.  The FaxPrinterD (printer daemon) has only 1 option.  When this
  3949.  option is enabled, the printer daemon will start a new page if
  3950.  the program sends a "Close Render" message to the printer
  3951.  driver.  When it is disabled, even if the program sends a "Close
  3952.  Render" message, it will continue to print to the same page.  Only
  3953.  a FormFeed will cause the printer daemon to start a new page.
  3954.  In general, I think you should have this option enabled.  But,
  3955.  for ProWrite users, you should disable this.  For some reason,
  3956.  ProWrite prints in small strips.  Therefore, if you had this
  3957.  option enabled, you would get lots of little pages.
  3958.  
  3959.  If you use GhostScript, you should enable this option.  Otherwise,
  3960.  you will get one very long page even if you are printing multiple
  3961.  pages.
  3962.  
  3963.  You can also use the asc2fax program to convert ascii files into
  3964.  fax files.  I added an extra option (-l) which selects low
  3965.  resolution (Standard resolution in fax terminology).  Basically,
  3966.  when you enable low resolution, asc2fax will render the font
  3967.  of the height you selected and will then read every other line
  3968.  and convert it into the fax compression (note that this is the
  3969.  same thing that the FaxPrinterD does when you select low
  3970.  resolution).  The side effect of this is that if your font
  3971.  has horizontal lines of 1 pixel, they may disappear completely
  3972.  from the fax file.  You should always choose a font that has
  3973.  horizontal lines that are greater than 1 pixel.  Just to be sure,
  3974.  you should create a document with all the characters you will use,
  3975.  convert it into a fax file, and view it to make sure that all the
  3976.  characters look ok.  Another strategy (not implemented) would have
  3977.  been to render the font with half the size that you chose.  This
  3978.  may be added at a later time.  If you don't want to bother with this
  3979.  problem, use Fine mode instead (or use the printer driver and print
  3980.  in graphics mode).
  3981.  
  3982.  Note that you cannot schedule faxes for a later time if you do
  3983.  not register for the Scheduler.  Also note that with the Scheduler,
  3984.  you will be able to automatically forward faxes received to
  3985.  another number.
  3986.  
  3987.